diff --git a/taverna-ro-vocabs/pom.xml b/taverna-ro-vocabs/pom.xml
index 0b7bc46..da8ca8c 100755
--- a/taverna-ro-vocabs/pom.xml
+++ b/taverna-ro-vocabs/pom.xml
@@ -30,6 +30,12 @@
 
     <dependency>
       <groupId>org.apache.jena</groupId>
+      <artifactId>jena-arq</artifactId>
+      <version>${jena.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.apache.jena</groupId>
       <artifactId>jena-osgi</artifactId>
       <version>${jena.version}</version>
     </dependency>
diff --git a/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/Bundle.java b/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/Bundle.java
new file mode 100644
index 0000000..7ad5f75
--- /dev/null
+++ b/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/Bundle.java
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.taverna.ro.vocabs; 
+
+import org.apache.jena.rdf.model.*;
+import org.apache.jena.ontology.*;
+ 
+
+/**
+ * Constants for the Research Object bundle vocabulary
+ * 
+ * @see https://w3id.org/bundle/owl
+ */
+public class Bundle {
+    /** <p>The ontology model that holds the vocabulary terms</p> */
+    private static final OntModel M_MODEL = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM, null );
+    
+    /** <p>The namespace of the vocabulary as a string</p> */
+    public static final String NS = "http://purl.org/wf4ever/bundle";
+    
+    /** <p>The namespace of the vocabulary as a string</p>
+     * @return namespace as String
+     * @see #NS */
+    public static String getURI() {return NS;}
+    
+    /** <p>The namespace of the vocabulary as a resource</p> */
+    public static final Resource NAMESPACE = M_MODEL.createResource( NS );
+    
+    public static final ObjectProperty bundledAs = M_MODEL.createObjectProperty( "http://purl.org/wf4ever/bundle#bundledAs" );
+    public static final ObjectProperty hasAnnotation = M_MODEL.createObjectProperty( "http://purl.org/wf4ever/bundle#hasAnnotation" );
+    public static final ObjectProperty hasProxy = M_MODEL.createObjectProperty( "http://purl.org/wf4ever/bundle#hasProxy" );
+    public static final ObjectProperty inFolder = M_MODEL.createObjectProperty( "http://purl.org/wf4ever/bundle#inFolder" );
+}
diff --git a/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/Foaf.java b/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/Foaf.java
index 58bf391..150f49c 100644
--- a/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/Foaf.java
+++ b/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/Foaf.java
@@ -16,9 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  *
-*/
+ */
 package org.apache.taverna.ro.vocabs; 
+
 import org.apache.jena.rdf.model.*;
+import org.apache.jena.sparql.vocabulary.FOAF;
 import org.apache.jena.ontology.*;
  
 /**
@@ -27,7 +29,7 @@
  * @see http://xmlns.com/foaf/0.1/
  *
  */
-public class Foaf {
+public class Foaf extends FOAF {
     /** <p>The ontology model that holds the vocabulary terms</p> */
     private static final OntModel M_MODEL = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM, null );
     
@@ -43,151 +45,82 @@
     public static final Resource NAMESPACE = M_MODEL.createResource( NS );
     
     public static final ObjectProperty account = M_MODEL.createObjectProperty(NS + "account");
-    
     public static final ObjectProperty accountServiceHomepage = M_MODEL.createObjectProperty(NS + "accountServiceHomepage");
-    
     public static final ObjectProperty based_near = M_MODEL.createObjectProperty(NS + "based_near");
-    
     public static final ObjectProperty currentProject = M_MODEL.createObjectProperty(NS + "currentProject");
-    
     public static final ObjectProperty depiction = M_MODEL.createObjectProperty(NS + "depiction");
-    
     public static final ObjectProperty depicts = M_MODEL.createObjectProperty(NS + "depicts");
-    
     public static final ObjectProperty fundedBy = M_MODEL.createObjectProperty(NS + "fundedBy");
-    
     public static final ObjectProperty holdsAccount = M_MODEL.createObjectProperty(NS + "holdsAccount");
-    
-    public static final ObjectProperty homepage = M_MODEL.createObjectProperty(NS + "homepage");
-    
-    public static final ObjectProperty img = M_MODEL.createObjectProperty(NS + "img");
-    
+    public static final ObjectProperty homepage = M_MODEL.createObjectProperty(NS + "homepage");    
+    public static final ObjectProperty img = M_MODEL.createObjectProperty(NS + "img");    
     public static final ObjectProperty interest = M_MODEL.createObjectProperty(NS + "interest");
-    
     public static final ObjectProperty knows = M_MODEL.createObjectProperty(NS + "knows");
-    
     public static final ObjectProperty logo = M_MODEL.createObjectProperty(NS + "logo");
-    
     public static final ObjectProperty made = M_MODEL.createObjectProperty(NS + "made");
-    
     public static final ObjectProperty maker = M_MODEL.createObjectProperty(NS + "maker");
-    
     public static final ObjectProperty mbox = M_MODEL.createObjectProperty(NS + "mbox");
-    
     public static final ObjectProperty member = M_MODEL.createObjectProperty(NS + "member");
-    
     public static final ObjectProperty openid = M_MODEL.createObjectProperty(NS + "openid");
-    
     public static final ObjectProperty page = M_MODEL.createObjectProperty(NS + "page");
-    
     public static final ObjectProperty pastProject = M_MODEL.createObjectProperty(NS + "pastProject");
-    
-    public static final ObjectProperty phone = M_MODEL.createObjectProperty(NS + "phone");
-    
+    public static final ObjectProperty phone = M_MODEL.createObjectProperty(NS + "phone");    
     public static final ObjectProperty primaryTopic = M_MODEL.createObjectProperty(NS + "primaryTopic");
-    
     public static final ObjectProperty publications = M_MODEL.createObjectProperty(NS + "publications");
-    
     public static final ObjectProperty schoolHomepage = M_MODEL.createObjectProperty(NS + "schoolHomepage");
-    
     public static final ObjectProperty theme = M_MODEL.createObjectProperty(NS + "theme");
-    
     public static final ObjectProperty thumbnail = M_MODEL.createObjectProperty(NS + "thumbnail");
-    
     public static final ObjectProperty tipjar = M_MODEL.createObjectProperty(NS + "tipjar");
-    
     public static final ObjectProperty topic = M_MODEL.createObjectProperty(NS + "topic");
-    
     public static final ObjectProperty topic_interest = M_MODEL.createObjectProperty(NS + "topic_interest");
-    
     public static final ObjectProperty weblog = M_MODEL.createObjectProperty(NS + "weblog");
-    
     public static final ObjectProperty workInfoHomepage = M_MODEL.createObjectProperty(NS + "workInfoHomepage");
-    
     public static final ObjectProperty workplaceHomepage = M_MODEL.createObjectProperty(NS + "workplaceHomepage");
     
     public static final DatatypeProperty accountName = M_MODEL.createDatatypeProperty(NS + "accountName");
-    
     public static final DatatypeProperty age = M_MODEL.createDatatypeProperty(NS + "age");
-    
     public static final DatatypeProperty aimChatID = M_MODEL.createDatatypeProperty(NS + "aimChatID");
-    
     public static final DatatypeProperty birthday = M_MODEL.createDatatypeProperty(NS + "birthday");
-    
     public static final DatatypeProperty dnaChecksum = M_MODEL.createDatatypeProperty(NS + "dnaChecksum");
-    
     public static final DatatypeProperty familyName = M_MODEL.createDatatypeProperty(NS + "familyName");
-    
     public static final DatatypeProperty family_name = M_MODEL.createDatatypeProperty(NS + "family_name");
-    
     public static final DatatypeProperty firstName = M_MODEL.createDatatypeProperty(NS + "firstName");
-    
     public static final DatatypeProperty geekcode = M_MODEL.createDatatypeProperty(NS + "geekcode");
-    
     public static final DatatypeProperty gender = M_MODEL.createDatatypeProperty(NS + "gender");
-    
     public static final DatatypeProperty givenName = M_MODEL.createDatatypeProperty(NS + "givenName");
-    
     public static final DatatypeProperty givenname = M_MODEL.createDatatypeProperty(NS + "givenname");
-    
     public static final DatatypeProperty icqChatID = M_MODEL.createDatatypeProperty(NS + "icqChatID");
-    
     public static final DatatypeProperty jabberID = M_MODEL.createDatatypeProperty(NS + "jabberID");
-    
     public static final DatatypeProperty lastName = M_MODEL.createDatatypeProperty(NS + "lastName");
-    
     public static final DatatypeProperty mbox_sha1sum = M_MODEL.createDatatypeProperty(NS + "mbox_sha1sum");
-    
     public static final DatatypeProperty msnChatID = M_MODEL.createDatatypeProperty(NS + "msnChatID");
-    
     public static final DatatypeProperty myersBriggs = M_MODEL.createDatatypeProperty(NS + "myersBriggs");
-    
     public static final DatatypeProperty name = M_MODEL.createDatatypeProperty(NS + "name");
-    
     public static final DatatypeProperty nick = M_MODEL.createDatatypeProperty(NS + "nick");
-    
     public static final DatatypeProperty plan = M_MODEL.createDatatypeProperty(NS + "plan");
-    
     public static final DatatypeProperty sha1 = M_MODEL.createDatatypeProperty(NS + "sha1");
-    
     public static final DatatypeProperty skypeID = M_MODEL.createDatatypeProperty(NS + "skypeID");
-    
     public static final DatatypeProperty status = M_MODEL.createDatatypeProperty(NS + "status");
-    
     public static final DatatypeProperty surname = M_MODEL.createDatatypeProperty(NS + "surname");
-    
     public static final DatatypeProperty title = M_MODEL.createDatatypeProperty(NS + "title");
-    
     public static final DatatypeProperty yahooChatID = M_MODEL.createDatatypeProperty(NS + "yahooChatID");
-    
+
     public static final AnnotationProperty membershipClass = M_MODEL.createAnnotationProperty(NS + "membershipClass");
     
     public static final OntProperty isPrimaryTopicOf = M_MODEL.createOntProperty(NS + "isPrimaryTopicOf");
-    
+
     public static final OntClass Agent = M_MODEL.createClass(NS + "Agent");
-    
     public static final OntClass Document = M_MODEL.createClass(NS + "Document");
-    
     public static final OntClass Group = M_MODEL.createClass(NS + "Group");
-    
     public static final OntClass Image = M_MODEL.createClass(NS + "Image");
-    
     public static final OntClass LabelProperty = M_MODEL.createClass(NS + "LabelProperty");
-    
     public static final OntClass OnlineAccount = M_MODEL.createClass(NS + "OnlineAccount");
-    
     public static final OntClass OnlineChatAccount = M_MODEL.createClass(NS + "OnlineChatAccount");
-    
     public static final OntClass OnlineEcommerceAccount = M_MODEL.createClass(NS + "OnlineEcommerceAccount");
-    
     public static final OntClass OnlineGamingAccount = M_MODEL.createClass(NS + "OnlineGamingAccount");
-    
     public static final OntClass Organization = M_MODEL.createClass(NS + "Organization");
-    
     public static final OntClass Person = M_MODEL.createClass(NS + "Person");
-    
-    public static final OntClass PersonalProfileDocument = M_MODEL.createClass(NS + "PersonalProfileDocument");
-    
+    public static final OntClass PersonalProfileDocument = M_MODEL.createClass(NS + "PersonalProfileDocument");    
     public static final OntClass Project = M_MODEL.createClass(NS + "Project");
     
 }
diff --git a/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/Oa.java b/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/Oa.java
new file mode 100644
index 0000000..d524e22
--- /dev/null
+++ b/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/Oa.java
@@ -0,0 +1,122 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.taverna.ro.vocabs; 
+
+import org.apache.jena.rdf.model.*;
+import org.apache.jena.ontology.*;
+ 
+/**
+ * Constants for the Web Annotation ontology
+ * 
+ * @see https://www.w3.org/ns/oa
+ * @see https://www.w3.org/TR/2017/REC-annotation-vocab-20170223/
+ */
+public class Oa {
+    /** <p>The ontology model that holds the vocabulary terms</p> */
+    private static final OntModel M_MODEL = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM, null);
+    
+    /** <p>The namespace of the vocabulary as a string</p> */
+    public static final String NS = "http://www.w3.org/ns/oa";
+    
+    /** <p>The namespace of the vocabulary as a string</p>
+     * @return namespace as String
+     * @see #NS */
+    public static String getURI() {return NS;}
+    0
+    /** <p>The namespace of the vocabulary as a resource</p> */
+    public static final Resource NAMESPACE = M_MODEL.createResource( NS);
+  
+    public static final ObjectProperty annotationService = M_MODEL.createObjectProperty(NS + "annotationService");
+    public static final ObjectProperty cachedSource = M_MODEL.createObjectProperty(NS + "cachedSource");
+    public static final ObjectProperty hasBody = M_MODEL.createObjectProperty(NS + "hasBody");
+    public static final ObjectProperty hasEndSelector = M_MODEL.createObjectProperty(NS + "hasEndSelector");
+    public static final ObjectProperty hasPurpose = M_MODEL.createObjectProperty(NS + "hasPurpose");    
+    public static final ObjectProperty hasScope = M_MODEL.createObjectProperty(NS + "hasScope");
+    public static final ObjectProperty hasSelector = M_MODEL.createObjectProperty(NS + "hasSelector");
+    public static final ObjectProperty hasSource = M_MODEL.createObjectProperty(NS + "hasSource");
+    public static final ObjectProperty hasStartSelector = M_MODEL.createObjectProperty(NS + "hasStartSelector");
+    public static final ObjectProperty hasState = M_MODEL.createObjectProperty(NS + "hasState");
+    public static final ObjectProperty hasTarget = M_MODEL.createObjectProperty(NS + "hasTarget");
+    public static final ObjectProperty motivatedBy = M_MODEL.createObjectProperty(NS + "motivatedBy");
+    public static final ObjectProperty refinedBy = M_MODEL.createObjectProperty(NS + "refinedBy");
+    public static final ObjectProperty renderedVia = M_MODEL.createObjectProperty(NS + "renderedVia");
+    public static final ObjectProperty styledBy = M_MODEL.createObjectProperty(NS + "styledBy");
+    public static final ObjectProperty textDirection = M_MODEL.createObjectProperty(NS + "textDirection");
+    public static final ObjectProperty via = M_MODEL.createObjectProperty(NS + "via");
+    
+    public static final DatatypeProperty bodyValue = M_MODEL.createDatatypeProperty(NS + "bodyValue");
+    public static final DatatypeProperty canonical = M_MODEL.createDatatypeProperty(NS + "canonical");
+    public static final DatatypeProperty end = M_MODEL.createDatatypeProperty(NS + "end");    
+    public static final DatatypeProperty exact = M_MODEL.createDatatypeProperty(NS + "exact");
+    public static final DatatypeProperty prefix = M_MODEL.createDatatypeProperty(NS + "prefix");        
+    public static final DatatypeProperty processingLanguage = M_MODEL.createDatatypeProperty(NS + "processingLanguage");
+    public static final DatatypeProperty sourceDate = M_MODEL.createDatatypeProperty(NS + "sourceDate");
+    public static final DatatypeProperty sourceDateEnd = M_MODEL.createDatatypeProperty(NS + "sourceDateEnd");
+    public static final DatatypeProperty sourceDateStart = M_MODEL.createDatatypeProperty(NS + "sourceDateStart");
+    public static final DatatypeProperty start = M_MODEL.createDatatypeProperty(NS + "start");    
+    public static final DatatypeProperty styleClass = M_MODEL.createDatatypeProperty(NS + "styleClass");
+    public static final DatatypeProperty suffix = M_MODEL.createDatatypeProperty(NS + "suffix");
+    
+    public static final OntClass Annotation = M_MODEL.createClass(NS + "Annotation");
+    public static final OntClass Choice = M_MODEL.createClass(NS + "Choice");
+    public static final OntClass CssSelector = M_MODEL.createClass(NS + "CssSelector");
+    public static final OntClass CssStyle = M_MODEL.createClass(NS + "CssStyle");
+    public static final OntClass DataPositionSelector = M_MODEL.createClass(NS + "DataPositionSelector");
+    public static final OntClass Direction = M_MODEL.createClass(NS + "Direction");
+    public static final OntClass FragmentSelector = M_MODEL.createClass(NS + "FragmentSelector");    
+    public static final OntClass HttpRequestState = M_MODEL.createClass(NS + "HttpRequestState");    
+    public static final OntClass Motivation = M_MODEL.createClass(NS + "Motivation");
+    public static final OntClass RangeSelector = M_MODEL.createClass(NS + "RangeSelector");
+    public static final OntClass ResourceSelection = M_MODEL.createClass(NS + "ResourceSelection");
+    public static final OntClass Selector = M_MODEL.createClass(NS + "Selector");
+    public static final OntClass SpecificResource = M_MODEL.createClass(NS + "SpecificResource");
+    public static final OntClass State = M_MODEL.createClass(NS + "State");
+    public static final OntClass Style = M_MODEL.createClass(NS + "Style");
+    public static final OntClass SvgSelector = M_MODEL.createClass(NS + "SvgSelector");    
+    public static final OntClass TextPositionSelector = M_MODEL.createClass(NS + "TextPositionSelector");
+    public static final OntClass TextQuoteSelector = M_MODEL.createClass(NS + "TextQuoteSelector");
+    public static final OntClass TextualBody = M_MODEL.createClass(NS + "TextualBody");
+    public static final OntClass TimeState = M_MODEL.createClass(NS + "TimeState");
+    public static final OntClass XPathSelector = M_MODEL.createClass(NS + "XPathSelector");
+
+    public static final Individual motivationScheme = M_MODEL.createIndividual(NS + "motivationScheme", M_MODEL.createClass( "http://www.w3.org/2004/02/skos/core#ConceptScheme"));
+    public static final Individual assessing = M_MODEL.createIndividual(NS + "assessing", Motivation);    
+    public static final Individual bookmarking = M_MODEL.createIndividual(NS + "bookmarking", Motivation);
+    public static final Individual classifying = M_MODEL.createIndividual(NS + "classifying", Motivation);
+    public static final Individual commenting = M_MODEL.createIndividual(NS + "commenting", Motivation);
+    public static final Individual describing = M_MODEL.createIndividual(NS + "describing", Motivation);
+    public static final Individual editing = M_MODEL.createIndividual(NS + "editing", Motivation);
+    public static final Individual highlighting = M_MODEL.createIndividual(NS + "highlighting", Motivation);    
+    public static final Individual identifying = M_MODEL.createIndividual(NS + "identifying", Motivation);
+    public static final Individual linking = M_MODEL.createIndividual(NS + "linking", Motivation);
+    public static final Individual moderating = M_MODEL.createIndividual(NS + "moderating", Motivation);
+    public static final Individual questioning = M_MODEL.createIndividual(NS + "questioning", Motivation);
+    public static final Individual replying = M_MODEL.createIndividual(NS + "replying", Motivation);
+    public static final Individual tagging = M_MODEL.createIndividual(NS + "tagging", Motivation);
+
+    public static final Individual ltrDirection = M_MODEL.createIndividual(NS + "ltrDirection", Direction);
+    public static final Individual rtlDirection = M_MODEL.createIndividual(NS + "rtlDirection", Direction);
+
+    // TODO: type M_MODEL.createClass( "http://www.w3.org/2004/02/skos/core#Concept") ? 
+    public static final Individual PreferContainedDescriptions = M_MODEL.createIndividual(NS + "PreferContainedDescriptions");
+    public static final Individual PreferContainedIRIs = M_MODEL.createIndividual(NS + "PreferContainedIRIs");
+
+}
+
diff --git a/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/Ore_owl.java b/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/Ore_owl.java
new file mode 100644
index 0000000..5fa7a0d
--- /dev/null
+++ b/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/Ore_owl.java
@@ -0,0 +1,62 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+package org.apache.taverna.ro.vocabs; 
+
+import org.apache.jena.rdf.model.*;
+import org.apache.jena.ontology.*;
+ 
+/**
+ * Constants for the OAI ORE terms vocabulary
+ * 
+ * @see http://www.openarchives.org/ore/terms/
+ * @see http://www.openarchives.org/ore/toc"
+ */
+public class Ore_owl {
+    /** <p>The ontology model that holds the vocabulary terms</p> */
+    private static final OntModel M_MODEL = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM, null );
+    
+    /** <p>The namespace of the vocabulary as a string</p> */
+    public static final String NS = "http://www.openarchives.org/ore/terms/";
+    
+    /** <p>The namespace of the vocabulary as a string</p>
+     * @return namespace as String
+     * @see #NS */
+    public static String getURI() {return NS;}
+    
+    /** <p>The namespace of the vocabulary as a resource</p> */
+    public static final Resource NAMESPACE = M_MODEL.createResource( NS );
+    
+    public static final AnnotationProperty similarTo = M_MODEL.createAnnotationProperty(NS + "similarTo");
+
+    public static final OntClass AggregatedResource = M_MODEL.createClass(NS + "AggregatedResource");
+    public static final OntClass Aggregation = M_MODEL.createClass(NS + "Aggregation");
+    public static final OntClass Proxy = M_MODEL.createClass(NS + "Proxy");
+    public static final OntClass ResourceMap = M_MODEL.createClass(NS + "ResourceMap");
+
+    public static final OntClass Graph = M_MODEL.createClass("http://www.w3.org/2004/03/trix/rdfg-1/Graph");
+
+    public static final ObjectProperty aggregates = M_MODEL.createObjectProperty(NS + "aggregates");    
+    public static final ObjectProperty describes = M_MODEL.createObjectProperty(NS + "describes");    
+    public static final ObjectProperty isAggregatedBy = M_MODEL.createObjectProperty(NS + "isAggregatedBy");    
+    public static final ObjectProperty isDescribedBy = M_MODEL.createObjectProperty(NS + "isDescribedBy");    
+    public static final ObjectProperty lineage = M_MODEL.createObjectProperty(NS + "lineage");    
+    public static final ObjectProperty proxyFor = M_MODEL.createObjectProperty(NS + "proxyFor");    
+    public static final ObjectProperty proxyIn = M_MODEL.createObjectProperty(NS + "proxyIn");    
+}
diff --git a/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/Pav.java b/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/Pav.java
new file mode 100644
index 0000000..fd684f4
--- /dev/null
+++ b/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/Pav.java
@@ -0,0 +1,326 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * 
+ */
+
+/*
+This Java class was generated for Apache Taverna 
+from the original RDF/XML ontology http://purl.org/pav/2.3
+which license and attribution is shown below according to
+Apache License 2.0 clause 4c:
+
+Copyright 2008-2014 Massachusetts General Hospital; Harvard Medical School; Balboa Systems; University of Manchester
+
+Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the specific language governing permissions and limitations under the License.
+
+
+<dcterms:title xml:lang="en">PAV - Provenance, Authoring and Versioning</dcterms:title>
+
+<rdfs:comment xml:lang="en">PAV is a lightweight ontology for tracking Provenance, Authoring and Versioning. PAV specializes the W3C provenance ontology PROV-O in order to describe authorship, curation and digital creation of online resources.
+
+  This ontology describes the defined PAV properties and their usage. Note that PAV does not define any explicit classes or domain/ranges, as every property is meant to be used directly on the described online resource.
+
+  Cite as: Paolo Ciccarese, Stian Soiland-Reyes, Khalid Belhajjame, Alasdair JG Gray, Carole Goble, Tim Clark (2013): PAV ontology: provenance, authoring and versioning. Journal of biomedical semantics 4 (1), 37. doi:10.1186/2041-1480-4-37
+</rdfs:comment>
+
+
+<dc:creator rdf:datatype="&xsd;string">Paolo Ciccarese</dc:creator>
+<dc:creator rdf:datatype="&xsd;string">Stian Soiland-Reyes</dc:creator>
+<dc:contributor rdf:datatype="&xsd;string">Marco Ocana</dc:contributor>
+<dc:contributor rdf:datatype="&xsd;string">Alasdair J G Gray</dc:contributor>
+<dc:contributor rdf:datatype="&xsd;string">Khalid Belhajjame</dc:contributor>
+<dc:contributor rdf:datatype="&xsd;string">Simon Jupp</dc:contributor>
+
+*/
+package org.apache.taverna.ro.vocabs; 
+import org.apache.jena.rdf.model.*;
+import org.apache.jena.ontology.*;
+ 
+/**
+ * Vocabulary definitions from file:/home/stain/src/incubator-taverna-language/taverna-ro-vocabs/src/main/resources/ontologies/pav.rdf 
+ * @author Auto-generated by schemagen on 07 Dec 2018 00:45 
+ */
+public class Pav {
+    /** <p>The ontology model that holds the vocabulary terms</p> */
+    private static final OntModel M_MODEL = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM, null );
+    
+    /** <p>The namespace of the vocabulary as a string</p> */
+    public static final String NS = "http://purl.org/pav/";
+    
+    /** <p>The namespace of the vocabulary as a string</p>
+     * @return namespace as String
+     * @see #NS */
+    public static String getURI() {return NS;}
+    
+    /** <p>The namespace of the vocabulary as a resource</p> */
+    public static final Resource NAMESPACE = M_MODEL.createResource( NS );
+    
+    /** <p>The ontology's owl:versionInfo as a string</p> */
+    public static final String VERSION_INFO = "2.1.1";
+    
+    /** <p>An agent that originated or gave existence to the work that is expressed by 
+     *  the digital resource. The author of the content of a resource may be different 
+     *  from the creator of the resource representation (although they are often the 
+     *  same). See pav:createdBy for a discussion. The date of authoring can be expressed 
+     *  using pav:authoredOn - note however in the case of multiple authors that there 
+     *  is no relationship in PAV identifying which agent contributed when or what. 
+     *  If capturing such lineage is desired, it should be additionally expressed 
+     *  using activity-centric provenance vocabularies, for instance with prov:wasGeneratedBy 
+     *  and prov:qualifiedAssocation.</p>
+     */
+    public static final ObjectProperty authoredBy = M_MODEL.createObjectProperty( "http://purl.org/pav/authoredBy" );
+    
+    /** <p>The resource was contributed to by the given agent. The agent provided any 
+     *  sort of help in conceiving the work that is expressed by the digital artifact. 
+     *  Superproperty of pav:authoredBy and pav:curatedBy. Note that as pav:contributedBy 
+     *  identifies only agents that contributed to the work, knowledge or intellectual 
+     *  property, and not agents that made the digital artifact or representation 
+     *  (pav:createdBy), thus this property can be considered more precise than dct:contributor. 
+     *  See pav:createdBy for a discussion. The date of contribution can be expressed 
+     *  using pav:contributedOn - note however in the case of multiple contributors 
+     *  that there is no relationship in PAV identifying which agent contributed when 
+     *  or what. If capturing such lineage is desired, it should be additionally expressed 
+     *  using activity-centric provenance vocabularies, for instance with prov:wasGeneratedBy 
+     *  and prov:qualifiedAssocation.</p>
+     */
+    public static final ObjectProperty contributedBy = M_MODEL.createObjectProperty( "http://purl.org/pav/contributedBy" );
+    
+    /** <p>The geo-location of the agents when creating the resource (pav:createdBy). 
+     *  For instance a photographer takes a picture of the Eiffel Tower while standing 
+     *  in front of it.</p>
+     */
+    public static final ObjectProperty createdAt = M_MODEL.createObjectProperty( "http://purl.org/pav/createdAt" );
+    
+    /** <p>An agent primary responsible for making the digital artifact or resource representation. 
+     *  This property is distinct from forming the content, which is indicated with 
+     *  pav:contributedBy or its subproperties; pav:authoredBy, which identifies who 
+     *  authored the knowledge expressed by this resource; and pav:curatedBy, which 
+     *  identifies who curated the knowledge into its current form. pav:createdBy 
+     *  is more specific than dct:createdBy - which might or might not be interpreted 
+     *  to cover this creator. For instance, the author wrote 'this species has bigger 
+     *  wings than normal' in his log book. The curator, going through the log book 
+     *  and identifying important knowledge, formalizes this as 'locus perculus has 
+     *  wingspan &gt; 0.5m'. The creator enters this knowledge as a digital resource 
+     *  in the knowledge system, thus creating the digital artifact (say as JSON, 
+     *  RDF, XML or HTML). A different example is a news article. pav:authoredBy indicates 
+     *  the journalist who wrote the article. pav:contributedBy can indicate the artist 
+     *  who added an illustration. pav:curatedBy can indicate the editor who made 
+     *  the article conform to the news paper's style. pav:createdBy can indicate 
+     *  who put the article on the web site. The software tool used by the creator 
+     *  to make the digital resource (say Protege, Wordpress or OpenOffice) can be 
+     *  indicated with pav:createdWith. The date the digital resource was created 
+     *  can be indicated with pav:createdOn. The location the agent was at when creating 
+     *  the digital resource can be made using pav:createdAt.</p>
+     */
+    public static final ObjectProperty createdBy = M_MODEL.createObjectProperty( "http://purl.org/pav/createdBy" );
+    
+    /** <p>The software/tool used by the creator (pav:createdBy) when making the digital 
+     *  resource, for instance a word processor or an annotation tool. A more independent 
+     *  software agent that creates the resource without direct interaction by a human 
+     *  creator should instead should instead by indicated using pav:createdBy.</p>
+     */
+    public static final ObjectProperty createdWith = M_MODEL.createObjectProperty( "http://purl.org/pav/createdWith" );
+    
+    /** <p>An agent specialist responsible for shaping the expression in an appropriate 
+     *  format. Often the primary agent responsible for ensuring the quality of the 
+     *  representation. The curator may be different from the creator of the author 
+     *  (pav:authoredBy) and the creator of the digital resource (pav:createdBy). 
+     *  The date of curating can be expressed using pav:curatedOn - note however in 
+     *  the case of multiple curators that there is no relationship in PAV identifying 
+     *  which agent contributed when or what. If capturing such lineage is desired, 
+     *  it should be additionally expressed using activity-centric provenance vocabularies, 
+     *  for instance with prov:wasGeneratedBy and prov:qualifiedAssocation.</p>
+     */
+    public static final ObjectProperty curatedBy = M_MODEL.createObjectProperty( "http://purl.org/pav/curatedBy" );
+    
+    /** <p>Provided for backwards compatibility with PAV 1.2 only. Use instead the inverse 
+     *  pav:curatedBy.</p>
+     */
+    public static final ObjectProperty curates = M_MODEL.createObjectProperty( "http://purl.org/pav/curates" );
+    
+    /** <p>Derived from a different resource. Derivation conserns itself with derived 
+     *  knowledge. If this resource has the same content as the other resource, but 
+     *  has simply been transcribed to fit a different model (like XML -&gt; RDF or 
+     *  SQL -&gt; CVS), use pav:importedFrom. If a resource was simply retrieved, 
+     *  use pav:retrievedFrom. If the content has however been further refined or 
+     *  modified, pav:derivedFrom should be used. Details about who performed the 
+     *  derivation may be indicated with pav:contributedBy and its subproperties.</p>
+     */
+    public static final ObjectProperty derivedFrom = M_MODEL.createObjectProperty( "http://purl.org/pav/derivedFrom" );
+    
+    /** <p>An entity responsible for importing the data. The importer is usually a software 
+     *  entity which has done the transcription from the original source. Note that 
+     *  pav:importedBy may overlap with pav:createdWith. The source for the import 
+     *  should be given with pav:importedFrom. The time of the import should be given 
+     *  with pav:importedOn. See pav:importedFrom for a discussion of import vs. retrieve 
+     *  vs. derived.</p>
+     */
+    public static final ObjectProperty importedBy = M_MODEL.createObjectProperty( "http://purl.org/pav/importedBy" );
+    
+    /** <p>The original source of imported information. Import means that the content 
+     *  has been preserved, but transcribed somehow, for instance to fit a different 
+     *  representation model. Examples of import are when the original was JSON and 
+     *  the current resource is RDF, or where the original was an document scan, and 
+     *  this resource is the plain text found through OCR. The imported resource does 
+     *  not have to be complete, but should be consistent with the knowledge conveyed 
+     *  by the original resource. If additional knowledge has been contributed, pav:derivedFrom 
+     *  would be more appropriate. If the resource has been copied verbatim from the 
+     *  original representation (e.g. downloaded), use pav:retrievedFrom. To indicate 
+     *  which agent(s) performed the import, use pav:importedBy. Use pav:importedOn 
+     *  to indicate when it happened.</p>
+     */
+    public static final ObjectProperty importedFrom = M_MODEL.createObjectProperty( "http://purl.org/pav/importedFrom" );
+    
+    /** <p>The previous version of a resource in a lineage. For instance a news article 
+     *  updated to correct factual information would point to the previous version 
+     *  of the article with pav:previousVersion. If however the content has significantly 
+     *  changed so that the two resources no longer share lineage (say a new news 
+     *  article that talks about the same facts), they should be related using pav:derivedFrom. 
+     *  A version number of this resource can be provided using the data property 
+     *  pav:version.</p>
+     */
+    public static final ObjectProperty previousVersion = M_MODEL.createObjectProperty( "http://purl.org/pav/previousVersion" );
+    
+    /** <p>The original provider of the encoded information (e.g. PubMed, UniProt, Science 
+     *  Commons). The provider might not coincide with the dct:publisher, which would 
+     *  describe the current publisher of the resource. For instance if the resource 
+     *  was retrieved, imported or derived from a source, that source was published 
+     *  by the original provider. pav:providedBy provides a shortcut to indicate the 
+     *  original provider on the new resource.</p>
+     */
+    public static final ObjectProperty providedBy = M_MODEL.createObjectProperty( "http://purl.org/pav/providedBy" );
+    
+    /** <p>An entity responsible for retrieving the data from an external source. The 
+     *  retrieving agent is usually a software entity, which has done the retrieval 
+     *  from the original source without performing any transcription. The source 
+     *  that was retrieved should be given with pav:retrievedFrom. The time of the 
+     *  retrieval should be indicated using pav:retrievedOn. See pav:importedFrom 
+     *  for a discussion of import vs. retrieve vs. derived.</p>
+     */
+    public static final ObjectProperty retrievedBy = M_MODEL.createObjectProperty( "http://purl.org/pav/retrievedBy" );
+    
+    /** <p>The URI where a resource has been retrieved from. Retrieval indicates that 
+     *  this resource has the same representation as the original resource. If the 
+     *  resource has been somewhat transformed, use pav:importedFrom instead. The 
+     *  time of the retrieval should be indicated using pav:retrievedOn. The agent 
+     *  may be indicated with pav:retrievedBy.</p>
+     */
+    public static final ObjectProperty retrievedFrom = M_MODEL.createObjectProperty( "http://purl.org/pav/retrievedFrom" );
+    
+    /** <p>The resource is related to a given source which was accessed or consulted 
+     *  (but not retrieved, imported or derived from). This access can be detailed 
+     *  with pav:sourceAccessedBy and pav:sourceAccessedOn. For instance, a curator 
+     *  (pav:curatedBy) might have consulted figures in a published paper to confirm 
+     *  that a dataset was correctly pav:importedFrom the paper's supplementary CSV 
+     *  file.</p>
+     */
+    public static final ObjectProperty sourceAccessedAt = M_MODEL.createObjectProperty( "http://purl.org/pav/sourceAccessedAt" );
+    
+    /** <p>The resource is related to a source which was accessed or consulted by the 
+     *  given agent. The source(s) should be specified using pav:sourceAccessedAt, 
+     *  and the time with pav:sourceAccessedOn. For instance, the given agent could 
+     *  be a curator (also pav:curatedBy) which consulted figures in a published paper 
+     *  to confirm that a dataset was correctly pav:importedFrom the paper's supplementary 
+     *  CSV file.</p>
+     */
+    public static final ObjectProperty sourceAccessedBy = M_MODEL.createObjectProperty( "http://purl.org/pav/sourceAccessedBy" );
+    
+    /** <p>The date this resource was authored. pav:authoredBy gives the authoring agent. 
+     *  Note that pav:authoredOn is different from pav:createdOn, although they are 
+     *  often the same. See pav:createdBy for a discussion.</p>
+     */
+    public static final DatatypeProperty authoredOn = M_MODEL.createDatatypeProperty( "http://purl.org/pav/authoredOn" );
+    
+    /** <p>The date this resource was contributed to. pav:contributedBy provides the 
+     *  agent(s) that contributed.</p>
+     */
+    public static final DatatypeProperty contributedOn = M_MODEL.createDatatypeProperty( "http://purl.org/pav/contributedOn" );
+    
+    /** <p>The date of creation of the resource. pav:createdBy provides the agent(s) 
+     *  that created the resource.</p>
+     */
+    public static final DatatypeProperty createdOn = M_MODEL.createDatatypeProperty( "http://purl.org/pav/createdOn" );
+    
+    /** <p>The date this resource was curated. pav:curatedBy gives the agent(s) that 
+     *  performed the curation.</p>
+     */
+    public static final DatatypeProperty curatedOn = M_MODEL.createDatatypeProperty( "http://purl.org/pav/curatedOn" );
+    
+    /** <p>The date this resource was imported from a source (pav:importedFrom). Note 
+     *  that pav:importedOn may overlap with pav:createdOn, but in cases where they 
+     *  differ, the import time indicates the time of the retrieval and transcription 
+     *  of the original source, while the creation time indicates when the final resource 
+     *  was made, for instance after user approval. If the source is later reimported, 
+     *  this should be indicated with pav:lastRefreshedOn. The source of the import 
+     *  should be given with pav:importedFrom. The agent that performed the import 
+     *  should be given with pav:importedBy. See pav:importedFrom for a discussion 
+     *  about import vs. retrieval.</p>
+     */
+    public static final DatatypeProperty importedOn = M_MODEL.createDatatypeProperty( "http://purl.org/pav/importedOn" );
+    
+    /** <p>The date of the last re-import of the resource. This property is used in addition 
+     *  to pav:importedOn if this version has been updated due to a re-import. If 
+     *  the re-import created a new resource rather than refreshing an existing, then 
+     *  pav:importedOn should be used together with pav:previousVersion.</p>
+     */
+    public static final DatatypeProperty lastRefreshedOn = M_MODEL.createDatatypeProperty( "http://purl.org/pav/lastRefreshedOn" );
+    
+    /** <p>The date of the last update of the resource. An update is a change which did 
+     *  not warrant making a new resource related using pav:previousVersion, for instance 
+     *  correcting a spelling mistake.</p>
+     */
+    public static final DatatypeProperty lastUpdateOn = M_MODEL.createDatatypeProperty( "http://purl.org/pav/lastUpdateOn" );
+    
+    /** <p>The date the source for this resource was retrieved. The source that was retrieved 
+     *  should be indicated with pav:retrievedFrom. The agent that performed the retrieval 
+     *  may be specified with pav:retrievedBy.</p>
+     */
+    public static final DatatypeProperty retrievedOn = M_MODEL.createDatatypeProperty( "http://purl.org/pav/retrievedOn" );
+    
+    /** <p>The resource is related to a source which was originally accessed or consulted 
+     *  on the given date as part of creating or authoring the resource. The source(s) 
+     *  should be specified using pav:sourceAccessedAt. If the source is subsequently 
+     *  checked again (say to verify validity), this should be indicated with pav:sourceLastAccessedOn. 
+     *  In the case multiple sources being accessed at different times or by different 
+     *  agents, PAV does not distinguish who accessed when what. If such details are 
+     *  required, they may be provided by additionally using prov:qualifiedInfluence.</p>
+     */
+    public static final DatatypeProperty sourceAccessedOn = M_MODEL.createDatatypeProperty( "http://purl.org/pav/sourceAccessedOn" );
+    
+    /** <p>The resource is related to a source which was last accessed or consulted on 
+     *  the given date. The source(s) should be specified using pav:sourceAccessedAt. 
+     *  Usage of this property indicates that the source has been checked previously, 
+     *  which the initial time should be indicated with pav:sourceAccessedOn. This 
+     *  property can be useful together with pav:lastRefreshedOn or pav:lastUpdateOn 
+     *  in order to indicate a re-import or update, but could also be used alone, 
+     *  for instance when a source was simply verified and no further action was taken 
+     *  for the resource,</p>
+     */
+    public static final DatatypeProperty sourceLastAccessedOn = M_MODEL.createDatatypeProperty( "http://purl.org/pav/sourceLastAccessedOn" );
+    
+    /** <p>The version number of a resource. This is a freetext string, typical values 
+     *  are "1.5" or "21". The URI identifying the previous version can be provided 
+     *  using prov:previousVersion.</p>
+     */
+    public static final DatatypeProperty version = M_MODEL.createDatatypeProperty( "http://purl.org/pav/version" );
+    
+}
diff --git a/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/Prov_o.java b/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/Prov_o.java
index 43556f9..7c51be5 100644
--- a/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/Prov_o.java
+++ b/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/Prov_o.java
@@ -42,193 +42,104 @@
     public static final Resource NAMESPACE = M_MODEL.createResource( NS );
     
     public static final ObjectProperty actedOnBehalfOf = M_MODEL.createObjectProperty(NS + "actedOnBehalfOf");
-    
     public static final ObjectProperty activity = M_MODEL.createObjectProperty(NS + "activity");
-    
     public static final ObjectProperty agent = M_MODEL.createObjectProperty(NS + "agent");
-    
     public static final ObjectProperty alternateOf = M_MODEL.createObjectProperty(NS + "alternateOf");
-    
     public static final ObjectProperty atLocation = M_MODEL.createObjectProperty(NS + "atLocation");
-    
     public static final ObjectProperty entity = M_MODEL.createObjectProperty(NS + "entity");
-    
     public static final ObjectProperty generated = M_MODEL.createObjectProperty(NS + "generated");
-    
     public static final ObjectProperty hadActivity = M_MODEL.createObjectProperty(NS + "hadActivity");
-    
     public static final ObjectProperty hadGeneration = M_MODEL.createObjectProperty(NS + "hadGeneration");
-    
     public static final ObjectProperty hadMember = M_MODEL.createObjectProperty(NS + "hadMember");
-    
     public static final ObjectProperty hadPlan = M_MODEL.createObjectProperty(NS + "hadPlan");
-    
     public static final ObjectProperty hadPrimarySource = M_MODEL.createObjectProperty(NS + "hadPrimarySource");
-    
     public static final ObjectProperty hadRole = M_MODEL.createObjectProperty(NS + "hadRole");
-    
     public static final ObjectProperty hadUsage = M_MODEL.createObjectProperty(NS + "hadUsage");
-    
     public static final ObjectProperty influenced = M_MODEL.createObjectProperty(NS + "influenced");
-    
     public static final ObjectProperty influencer = M_MODEL.createObjectProperty(NS + "influencer");
-    
     public static final ObjectProperty invalidated = M_MODEL.createObjectProperty(NS + "invalidated");
-    
+
     public static final ObjectProperty qualifiedAssociation = M_MODEL.createObjectProperty(NS + "qualifiedAssociation");
-    
     public static final ObjectProperty qualifiedAttribution = M_MODEL.createObjectProperty(NS + "qualifiedAttribution");
-    
     public static final ObjectProperty qualifiedCommunication = M_MODEL.createObjectProperty(NS + "qualifiedCommunication");
-    
     public static final ObjectProperty qualifiedDelegation = M_MODEL.createObjectProperty(NS + "qualifiedDelegation");
-    
     public static final ObjectProperty qualifiedDerivation = M_MODEL.createObjectProperty(NS + "qualifiedDerivation");
-    
     public static final ObjectProperty qualifiedEnd = M_MODEL.createObjectProperty(NS + "qualifiedEnd");
-    
     public static final ObjectProperty qualifiedGeneration = M_MODEL.createObjectProperty(NS + "qualifiedGeneration");
-    
     public static final ObjectProperty qualifiedInfluence = M_MODEL.createObjectProperty(NS + "qualifiedInfluence");
-    
     public static final ObjectProperty qualifiedInvalidation = M_MODEL.createObjectProperty(NS + "qualifiedInvalidation");
-    
     public static final ObjectProperty qualifiedPrimarySource = M_MODEL.createObjectProperty(NS + "qualifiedPrimarySource");
-    
     public static final ObjectProperty qualifiedQuotation = M_MODEL.createObjectProperty(NS + "qualifiedQuotation");
-    
     public static final ObjectProperty qualifiedRevision = M_MODEL.createObjectProperty(NS + "qualifiedRevision");
-    
     public static final ObjectProperty qualifiedStart = M_MODEL.createObjectProperty(NS + "qualifiedStart");
-    
     public static final ObjectProperty qualifiedUsage = M_MODEL.createObjectProperty(NS + "qualifiedUsage");
-    
+
     public static final ObjectProperty specializationOf = M_MODEL.createObjectProperty(NS + "specializationOf");
-    
     public static final ObjectProperty used = M_MODEL.createObjectProperty(NS + "used");
-    
     public static final ObjectProperty wasAssociatedWith = M_MODEL.createObjectProperty(NS + "wasAssociatedWith");
-    
     public static final ObjectProperty wasAttributedTo = M_MODEL.createObjectProperty(NS + "wasAttributedTo");
-    
     public static final ObjectProperty wasDerivedFrom = M_MODEL.createObjectProperty(NS + "wasDerivedFrom");
-    
     public static final ObjectProperty wasEndedBy = M_MODEL.createObjectProperty(NS + "wasEndedBy");
-    
     public static final ObjectProperty wasGeneratedBy = M_MODEL.createObjectProperty(NS + "wasGeneratedBy");
-    
     public static final ObjectProperty wasInfluencedBy = M_MODEL.createObjectProperty(NS + "wasInfluencedBy");
-    
     public static final ObjectProperty wasInformedBy = M_MODEL.createObjectProperty(NS + "wasInformedBy");
-    
     public static final ObjectProperty wasInvalidatedBy = M_MODEL.createObjectProperty(NS + "wasInvalidatedBy");
-    
     public static final ObjectProperty wasQuotedFrom = M_MODEL.createObjectProperty(NS + "wasQuotedFrom");
-    
     public static final ObjectProperty wasRevisionOf = M_MODEL.createObjectProperty(NS + "wasRevisionOf");
-    
     public static final ObjectProperty wasStartedBy = M_MODEL.createObjectProperty(NS + "wasStartedBy");
     
     public static final DatatypeProperty atTime = M_MODEL.createDatatypeProperty(NS + "atTime");
-    
     public static final DatatypeProperty endedAtTime = M_MODEL.createDatatypeProperty(NS + "endedAtTime");
-    
     public static final DatatypeProperty generatedAtTime = M_MODEL.createDatatypeProperty(NS + "generatedAtTime");
-    
     public static final DatatypeProperty invalidatedAtTime = M_MODEL.createDatatypeProperty(NS + "invalidatedAtTime");
-    
     public static final DatatypeProperty startedAtTime = M_MODEL.createDatatypeProperty(NS + "startedAtTime");
-    
     public static final DatatypeProperty value = M_MODEL.createDatatypeProperty(NS + "value");
     
     public static final AnnotationProperty aq = M_MODEL.createAnnotationProperty(NS + "aq");
-    
     public static final AnnotationProperty category = M_MODEL.createAnnotationProperty(NS + "category");
-    
     public static final AnnotationProperty component = M_MODEL.createAnnotationProperty(NS + "component");
-    
     public static final AnnotationProperty constraints = M_MODEL.createAnnotationProperty(NS + "constraints");
-    
     public static final AnnotationProperty definition = M_MODEL.createAnnotationProperty(NS + "definition");
-    
     public static final AnnotationProperty dm = M_MODEL.createAnnotationProperty(NS + "dm");
-    
     public static final AnnotationProperty editorialNote = M_MODEL.createAnnotationProperty(NS + "editorialNote");
-    
     public static final AnnotationProperty editorsDefinition = M_MODEL.createAnnotationProperty(NS + "editorsDefinition");
-    
     public static final AnnotationProperty inverse = M_MODEL.createAnnotationProperty(NS + "inverse");
-    
     public static final AnnotationProperty n = M_MODEL.createAnnotationProperty(NS + "n");
-    
     public static final AnnotationProperty order = M_MODEL.createAnnotationProperty(NS + "order");
-    
     public static final AnnotationProperty qualifiedForm = M_MODEL.createAnnotationProperty(NS + "qualifiedForm");
-    
     public static final AnnotationProperty sharesDefinitionWith = M_MODEL.createAnnotationProperty(NS + "sharesDefinitionWith");
-    
     public static final AnnotationProperty todo = M_MODEL.createAnnotationProperty(NS + "todo");
-    
     public static final AnnotationProperty unqualifiedForm = M_MODEL.createAnnotationProperty(NS + "unqualifiedForm");
     
     public static final OntClass Activity = M_MODEL.createClass(NS + "Activity");
-    
     public static final OntClass ActivityInfluence = M_MODEL.createClass(NS + "ActivityInfluence");
-    
     public static final OntClass Agent = M_MODEL.createClass(NS + "Agent");
-    
     public static final OntClass AgentInfluence = M_MODEL.createClass(NS + "AgentInfluence");
-    
     public static final OntClass Association = M_MODEL.createClass(NS + "Association");
-    
     public static final OntClass Attribution = M_MODEL.createClass(NS + "Attribution");
-    
     public static final OntClass Bundle = M_MODEL.createClass(NS + "Bundle");
-    
     public static final OntClass Collection = M_MODEL.createClass(NS + "Collection");
-    
     public static final OntClass Communication = M_MODEL.createClass(NS + "Communication");
-    
     public static final OntClass Delegation = M_MODEL.createClass(NS + "Delegation");
-    
     public static final OntClass Derivation = M_MODEL.createClass(NS + "Derivation");
-    
     public static final OntClass EmptyCollection = M_MODEL.createClass(NS + "EmptyCollection");
-    
     public static final OntClass End = M_MODEL.createClass(NS + "End");
-    
     public static final OntClass Entity = M_MODEL.createClass(NS + "Entity");
-    
     public static final OntClass EntityInfluence = M_MODEL.createClass(NS + "EntityInfluence");
-    
     public static final OntClass Generation = M_MODEL.createClass(NS + "Generation");
-    
     public static final OntClass Influence = M_MODEL.createClass(NS + "Influence");
-    
     public static final OntClass InstantaneousEvent = M_MODEL.createClass(NS + "InstantaneousEvent");
-    
     public static final OntClass Invalidation = M_MODEL.createClass(NS + "Invalidation");
-    
     public static final OntClass Location = M_MODEL.createClass(NS + "Location");
-    
     public static final OntClass Organization = M_MODEL.createClass(NS + "Organization");
-    
     public static final OntClass Person = M_MODEL.createClass(NS + "Person");
-    
     public static final OntClass Plan = M_MODEL.createClass(NS + "Plan");
-    
     public static final OntClass PrimarySource = M_MODEL.createClass(NS + "PrimarySource");
-    
     public static final OntClass Quotation = M_MODEL.createClass(NS + "Quotation");
-    
     public static final OntClass Revision = M_MODEL.createClass(NS + "Revision");
-    
     public static final OntClass Role = M_MODEL.createClass(NS + "Role");
-    
     public static final OntClass SoftwareAgent = M_MODEL.createClass(NS + "SoftwareAgent");
-    
     public static final OntClass Start = M_MODEL.createClass(NS + "Start");
-    
     public static final OntClass Usage = M_MODEL.createClass(NS + "Usage");
     
 	/**
diff --git a/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/RO.java b/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/RO.java
index 8719364..2630c6d 100644
--- a/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/RO.java
+++ b/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/RO.java
@@ -52,5 +52,4 @@
     public static final ObjectProperty rootFolder = M_MODEL.createObjectProperty( NS + "rootFolder" );
     
     public static final DatatypeProperty entryName = M_MODEL.createDatatypeProperty( NS + "entryName" );
-    
 }
diff --git a/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/ROEvo.java b/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/ROEvo.java
index 586474d..585de1c 100644
--- a/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/ROEvo.java
+++ b/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/ROEvo.java
@@ -52,7 +52,6 @@
     public static final OntClass Removal = M_MODEL.createClass( NS + "Removal" );
     public static final OntClass SnapshotRO = M_MODEL.createClass( NS + "SnapshotRO" );
     public static final OntClass VersionableResource = M_MODEL.createClass( NS + "VersionableResource" );
-    
 
     public static final ObjectProperty fromVersion = M_MODEL.createObjectProperty( NS + "fromVersion" );
     public static final ObjectProperty hasArchive = M_MODEL.createObjectProperty( NS + "hasArchive" );
diff --git a/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/Roterms.java b/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/Roterms.java
index ae833c9..bc2da06 100644
--- a/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/Roterms.java
+++ b/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/Roterms.java
@@ -66,6 +66,5 @@
     public static final ObjectProperty technicalContact = M_MODEL.createObjectProperty(NS + "technicalContact");
 
     public static final DatatypeProperty sampleSize = M_MODEL.createDatatypeProperty(NS + "sampleSize");
-        
 }
 
diff --git a/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/Wf4ever.java b/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/Wf4ever.java
index f49c5dd..75bb41a 100644
--- a/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/Wf4ever.java
+++ b/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/Wf4ever.java
@@ -40,51 +40,30 @@
     
     /** <p>The namespace of the vocabulary as a resource</p> */
     public static final Resource NAMESPACE = M_MODEL.createResource( NS );
-    
+
     public static final DatatypeProperty command = M_MODEL.createDatatypeProperty(NS + "command");
-
     public static final DatatypeProperty filePath = M_MODEL.createDatatypeProperty(NS + "filePath");
-
     public static final DatatypeProperty parameterFilePath = M_MODEL.createDatatypeProperty(NS + "parameterFilePath");
-    
     public static final DatatypeProperty rootURI = M_MODEL.createDatatypeProperty(NS + "rootURI");
-    
     public static final DatatypeProperty script = M_MODEL.createDatatypeProperty(NS + "script");
-    
     public static final DatatypeProperty serviceURI = M_MODEL.createDatatypeProperty(NS + "serviceURI");
-    
     public static final DatatypeProperty wsdlOperationName = M_MODEL.createDatatypeProperty(NS + "wsdlOperationName");
-    
     public static final DatatypeProperty wsdlPortName = M_MODEL.createDatatypeProperty(NS + "wsdlPortName");
-    
     public static final DatatypeProperty wsdlURI = M_MODEL.createDatatypeProperty(NS + "wsdlURI");
-    
+
     public static final OntClass BeanshellScript = M_MODEL.createClass(NS + "BeanshellScript");
-    
     public static final OntClass CommandLineTool = M_MODEL.createClass(NS + "CommandLineTool");
-    
     public static final OntClass Dataset = M_MODEL.createClass(NS + "Dataset");
-    
     public static final OntClass Document = M_MODEL.createClass(NS + "Document");
-    
     public static final OntClass File = M_MODEL.createClass(NS + "File");
-
     public static final OntClass FileParameter = M_MODEL.createClass(NS + "FileParameter");
-    
     public static final OntClass Image = M_MODEL.createClass(NS + "Image");
-
     public static final OntClass PythonScript = M_MODEL.createClass(NS + "PythonScript");
-
     public static final OntClass RScript = M_MODEL.createClass(NS + "RScript");
-
     public static final OntClass RESTService = M_MODEL.createClass(NS + "RESTService");
-         
     public static final OntClass Script = M_MODEL.createClass(NS + "Script");
-
     public static final OntClass SOAPService = M_MODEL.createClass(NS + "SOAPService");
-
     public static final OntClass WebService = M_MODEL.createClass(NS + "WebService");
-    
     public static final OntClass WorkflowResearchObject = M_MODEL.createClass(NS + "WorkflowResearchObject");
-    
+
 }
diff --git a/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/Wfdesc.java b/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/Wfdesc.java
index 8332c02..da542f2 100644
--- a/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/Wfdesc.java
+++ b/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/Wfdesc.java
@@ -42,47 +42,27 @@
     public static final Resource NAMESPACE = M_MODEL.createResource( NS );
     
     public static final ObjectProperty hasArtifact = M_MODEL.createObjectProperty(NS + "hasArtifact");
-
     public static final ObjectProperty hasConfiguration = M_MODEL.createObjectProperty(NS + "hasConfiguration");    
-    
     public static final ObjectProperty hasDataLink = M_MODEL.createObjectProperty(NS + "hasDataLink");
- 
     public static final ObjectProperty hasImplementation = M_MODEL.createObjectProperty(NS + "hasImplementation");    
-    
     public static final ObjectProperty hasInput = M_MODEL.createObjectProperty(NS + "hasInput");
-    
     public static final ObjectProperty hasOutput = M_MODEL.createObjectProperty(NS + "hasOutput");
-    
     public static final ObjectProperty hasSink = M_MODEL.createObjectProperty(NS + "hasSink");
-    
     public static final ObjectProperty hasSource = M_MODEL.createObjectProperty(NS + "hasSource");
-    
     public static final ObjectProperty hasSubProcess = M_MODEL.createObjectProperty(NS + "hasSubProcess");
-    
     public static final ObjectProperty hasSubWorkflow = M_MODEL.createObjectProperty(NS + "hasSubWorkflow");
-
     public static final ObjectProperty hasWorkflowDefinition = M_MODEL.createObjectProperty(NS + "hasWorkflowDefinition");    
     
     public static final OntClass Artifact = M_MODEL.createClass(NS + "Artifact");
-
     public static final OntClass Configuration = M_MODEL.createClass(NS + "Configuration");
-
     public static final OntClass DataLink = M_MODEL.createClass(NS + "DataLink");
-    
     public static final OntClass Input = M_MODEL.createClass(NS + "Input");
-    
     public static final OntClass Output = M_MODEL.createClass(NS + "Output");
-    
     public static final OntClass Parameter = M_MODEL.createClass(NS + "Parameter");
-    
     public static final OntClass Process = M_MODEL.createClass(NS + "Process");
-
     public static final OntClass ProcessImplementation = M_MODEL.createClass(NS + "ProcessImplementation");
-    
     public static final OntClass Workflow = M_MODEL.createClass(NS + "Workflow");
-
     public static final OntClass WorkflowDefinition = M_MODEL.createClass(NS + "WorkflowDefinition");
-    
     public static final OntClass WorkflowInstance = M_MODEL.createClass(NS + "WorkflowInstance");
-    
+
 }
diff --git a/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/Wfprov.java b/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/Wfprov.java
index 080d228..c2b0871 100644
--- a/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/Wfprov.java
+++ b/taverna-ro-vocabs/src/main/java/org/apache/taverna/ro/vocabs/Wfprov.java
@@ -40,32 +40,20 @@
     
     /** <p>The namespace of the vocabulary as a resource</p> */
     public static final Resource NAMESPACE = M_MODEL.createResource( NS );
-    
+
     public static final ObjectProperty describedByParameter = M_MODEL.createObjectProperty(NS + "describedByParameter");
-    
     public static final ObjectProperty describedByProcess = M_MODEL.createObjectProperty(NS + "describedByProcess");
-    
     public static final ObjectProperty describedByWorkflow = M_MODEL.createObjectProperty(NS + "describedByWorkflow");
-    
     public static final ObjectProperty interactedWith = M_MODEL.createObjectProperty(NS + "interactedWith");
-        
     public static final ObjectProperty usedInput = M_MODEL.createObjectProperty(NS + "usedInput");
-    
     public static final ObjectProperty wasEnactedBy = M_MODEL.createObjectProperty(NS + "wasEnactedBy");
-    
     public static final ObjectProperty wasInitiatedBy = M_MODEL.createObjectProperty(NS + "wasInitiatedBy");    
-    
     public static final ObjectProperty wasOutputFrom = M_MODEL.createObjectProperty(NS + "wasOutputFrom");
-    
     public static final ObjectProperty wasPartOfWorkflowRun = M_MODEL.createObjectProperty(NS + "wasPartOfWorkflowRun");
-    
-    
+
     public static final OntClass Artifact = M_MODEL.createClass(NS + "Artifact");
-    
     public static final OntClass ProcessRun = M_MODEL.createClass(NS + "ProcessRun");
-    
     public static final OntClass WorkflowEngine = M_MODEL.createClass(NS + "WorkflowEngine");
-    
     public static final OntClass WorkflowRun = M_MODEL.createClass(NS + "WorkflowRun");
-    
+
 }
diff --git a/taverna-robundle/src/main/resources/ontologies/bundle.owl b/taverna-ro-vocabs/src/main/resources/ontologies/bundle.owl
similarity index 100%
rename from taverna-robundle/src/main/resources/ontologies/bundle.owl
rename to taverna-ro-vocabs/src/main/resources/ontologies/bundle.owl
diff --git a/taverna-robundle/src/main/resources/ontologies/oa.rdf b/taverna-ro-vocabs/src/main/resources/ontologies/oa.rdf
similarity index 99%
rename from taverna-robundle/src/main/resources/ontologies/oa.rdf
rename to taverna-ro-vocabs/src/main/resources/ontologies/oa.rdf
index 7861995..fa9b124 100644
--- a/taverna-robundle/src/main/resources/ontologies/oa.rdf
+++ b/taverna-ro-vocabs/src/main/resources/ontologies/oa.rdf
@@ -649,7 +649,8 @@
         <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/oa#"/>
     </owl:Class>
     
-
+    <owl:Class rdf:about="&skos;ConceptScheme">
+    </owl:Class>
 
     <!-- http://www.w3.org/ns/oa#SvgSelector -->
 
diff --git a/taverna-robundle/src/main/resources/ontologies/ore-owl.owl b/taverna-ro-vocabs/src/main/resources/ontologies/ore-owl.owl
similarity index 100%
rename from taverna-robundle/src/main/resources/ontologies/ore-owl.owl
rename to taverna-ro-vocabs/src/main/resources/ontologies/ore-owl.owl
diff --git a/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/RDFToManifest.java b/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/RDFToManifest.java
index f0517eb..e542735 100644
--- a/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/RDFToManifest.java
+++ b/taverna-robundle/src/main/java/org/apache/taverna/robundle/manifest/RDFToManifest.java
@@ -19,7 +19,6 @@
  * under the License.
  */
 
-
 import static org.apache.jena.ontology.OntModelSpec.OWL_DL_MEM_RULE_INF;
 import static org.apache.jena.rdf.model.ModelFactory.createOntologyModel;
 import static org.apache.taverna.robundle.utils.PathHelper.relativizeFromBase;
@@ -45,6 +44,15 @@
 import org.apache.jena.riot.RiotException;
 import org.apache.taverna.robundle.Bundles;
 
+import org.apache.taverna.ro.vocabs.Foaf;
+import org.apache.taverna.ro.vocabs.Prov_o;
+import org.apache.taverna.ro.vocabs.RO;
+import org.apache.taverna.ro.vocabs.ROEvo;
+import org.apache.taverna.ro.vocabs.Roterms;
+import org.apache.taverna.ro.vocabs.Wf4ever;
+import org.apache.taverna.ro.vocabs.Wfdesc;
+import org.apache.taverna.ro.vocabs.Wfprov;
+
 import org.apache.jena.ontology.DatatypeProperty;
 import org.apache.jena.ontology.Individual;
 import org.apache.jena.ontology.ObjectProperty;
@@ -77,27 +85,8 @@
 		}
 	}
 
-	private static final String BUNDLE = "http://purl.org/wf4ever/bundle#";
-
-	private static final String BUNDLE_RDF = "/ontologies/bundle.owl";
-	private static final String DCT = "http://purl.org/dc/terms/";
-	private static final String FOAF_0_1 = "http://xmlns.com/foaf/0.1/";
-	private static final String FOAF_RDF = "/ontologies/foaf.rdf";
-
 	private static Logger logger = Logger.getLogger(RDFToManifest.class
 			.getCanonicalName());
-	private static final String OA = "http://www.w3.org/ns/oa#";
-	private static final String OA_RDF = "/ontologies/oa.rdf";
-	private static final String ORE = "http://www.openarchives.org/ore/terms/";
-	private static final String PAV = "http://purl.org/pav/";
-	private static final String PAV_RDF = "/ontologies/pav.rdf";
-	private static final String PROV = "http://www.w3.org/ns/prov#";
-	private static final String PROV_AQ_RDF = "/ontologies/prov-aq.rdf";
-	private static final String PROV_O = "http://www.w3.org/ns/prov-o#";
-	private static final String PROV_O_RDF = "/ontologies/prov-o.rdf";
-
-	private static final String RO = "http://purl.org/wf4ever/ro#";
-	private static final String RO_OWL = "/ontologies/ro.owl";
 
 	private static <T> ClosableIterable<T> iterate(ExtendedIterator<T> iterator) {
 		return new ClosableIterable<T>(iterator);
@@ -126,69 +115,6 @@
 		return new URI("app", UUID.randomUUID().toString(), "/", (String) null);
 	}
 
-	private ObjectProperty aggregates;
-	private OntClass aggregation;
-	private ObjectProperty authoredBy;
-	private DatatypeProperty authoredOn;
-	private OntModel bundle;
-	private ObjectProperty conformsTo;
-	private ObjectProperty createdBy;
-	private DatatypeProperty createdOn;
-	private ObjectProperty retrievedFrom;
-	private ObjectProperty retrievedBy;
-	private DatatypeProperty retrievedOn;
-	private OntModel dct;
-	private OntModel foaf;
-	private DatatypeProperty foafName;
-	private DatatypeProperty format;
-	private ObjectProperty hasAnnotation;
-
-	private ObjectProperty hasBody;
-
-	private ObjectProperty hasProvenance;
-
-	private ObjectProperty hasProxy;
-
-	private ObjectProperty hasTarget;
-	private ObjectProperty inFolder;
-	private ObjectProperty isDescribedBy;
-	private OntModel oa;
-	private OntModel ore;
-	private OntModel pav;
-
-	private OntModel prov;
-
-	private OntModel provaq;
-
-	private ObjectProperty proxyFor;
-
-	private ObjectProperty proxyIn;
-
-	private OntClass standard;
-
-	private OntModel roterms;
-
-	private ObjectProperty alternateOf;
-
-	private ObjectProperty bundledAs;
-
-	private DatatypeProperty entryName;
-
-	private OntModel ro;
-
-	public RDFToManifest() {
-		loadOntologies();
-	}
-
-	private void checkNotNull(Object... possiblyNulls) {
-		int i = 0;
-		for (Object check : possiblyNulls) {
-			if (check == null)
-				throw new IllegalStateException("Could not load item #" + i);
-			i++;
-		}
-	}
-
 	private Individual findRO(OntModel model, URI base) {
 		try (ClosableIterable<? extends OntResource> instances = iterate(aggregation
 				.listInstances())) {
@@ -237,7 +163,7 @@
 
 	protected OntModel getOntModel() {
 		OntModel ontModel = createOntologyModel(OWL_DL_MEM_RULE_INF);
-		ontModel.setNsPrefix("foaf", FOAF_0_1);
+		ontModel.setNsPrefix("foaf", Foaf.);
 		ontModel.setNsPrefix("prov", PROV);
 		ontModel.setNsPrefix("ore", ORE);
 		ontModel.setNsPrefix("pav", PAV);
@@ -260,160 +186,6 @@
 		return results;
 	}
 
-	protected synchronized void loadBundle() {
-		if (bundle != null)
-			return;
-		OntModel ontModel = loadOntologyFromClasspath(BUNDLE_RDF, BUNDLE);
-		hasProxy = ontModel.getObjectProperty(BUNDLE + "hasProxy");
-		hasAnnotation = ontModel.getObjectProperty(BUNDLE + "hasAnnotation");
-		inFolder = ontModel.getObjectProperty(BUNDLE + "inFolder");
-		bundledAs = ontModel.getObjectProperty(BUNDLE + "bundledAs");
-		checkNotNull(hasProxy, hasAnnotation, inFolder, bundledAs);
-		bundle = ontModel;
-	}
-
-	protected synchronized void loadDCT() {
-		if (dct != null)
-			return;
-
-		OntModel ontModel = loadOntologyFromClasspath(
-				"/ontologies/dcterms_od.owl",
-				"http://purl.org/wf4ever/dcterms_od");
-
-		// properties from dct
-		standard = ontModel.getOntClass(DCT + "Standard");
-		conformsTo = ontModel.getObjectProperty(DCT + "conformsTo");
-
-		// We'll cheat dc:format in
-		format = ontModel
-				.createDatatypeProperty("http://purl.org/dc/elements/1.1/"
-						+ "format");
-		checkNotNull(standard, conformsTo, format);
-
-		dct = ontModel;
-	}
-
-	//
-	protected synchronized void loadFOAF() {
-		if (foaf != null)
-			return;
-
-		OntModel ontModel = loadOntologyFromClasspath(FOAF_RDF, FOAF_0_1);
-
-		// properties from foaf
-		foafName = ontModel.getDatatypeProperty(FOAF_0_1 + "name");
-		checkNotNull(foafName);
-
-		foaf = ontModel;
-	}
-
-	protected synchronized void loadOA() {
-		if (oa != null)
-			return;
-		OntModel ontModel = loadOntologyFromClasspath(OA_RDF, OA);
-		hasTarget = ontModel.getObjectProperty(OA + "hasTarget");
-		hasBody = ontModel.getObjectProperty(OA + "hasBody");
-		checkNotNull(hasTarget, hasBody);
-		oa = ontModel;
-	}
-
-	protected void loadOntologies() {
-		loadDCT();
-		loadORE();
-		loadFOAF();
-		loadPROVO();
-		loadPAV();
-		loadPROVAQ();
-		loadOA();
-		loadRO();
-		loadBundle();
-	}
-
-	protected OntModel loadOntologyFromClasspath(String classPathUri, String uri) {
-		OntModel ontModel = createOntologyModel();
-
-		// Load from classpath
-		InputStream inStream = getClass().getResourceAsStream(classPathUri);
-		if (inStream == null)
-			throw new IllegalArgumentException("Can't load " + classPathUri);
-		// Ontology ontology = ontModel.createOntology(uri);
-		ontModel.read(inStream, uri);
-		try {
-			inStream.close();
-		} catch (IOException e) {
-			// Shouldn't happen
-		}
-		return ontModel;
-	}
-
-	protected synchronized void loadORE() {
-		if (ore != null)
-			return;
-		OntModel ontModel = loadOntologyFromClasspath(
-				"/ontologies/ore-owl.owl", "http://purl.org/wf4ever/ore-owl");
-		aggregation = ontModel.getOntClass(ORE + "Aggregation");
-
-		aggregates = ontModel.getObjectProperty(ORE + "aggregates");
-		proxyFor = ontModel.getObjectProperty(ORE + "proxyFor");
-		proxyIn = ontModel.getObjectProperty(ORE + "proxyIn");
-		isDescribedBy = ontModel.getObjectProperty(ORE + "isDescribedBy");
-
-		checkNotNull(aggregation, aggregates, proxyFor, proxyIn, isDescribedBy);
-
-		ore = ontModel;
-	}
-
-	protected synchronized void loadPAV() {
-		if (pav != null)
-			return;
-
-		OntModel ontModel = loadOntologyFromClasspath(PAV_RDF, PAV);
-		// properties from foaf
-		createdBy = ontModel.getObjectProperty(PAV + "createdBy");
-		createdOn = ontModel.getDatatypeProperty(PAV + "createdOn");
-		authoredBy = ontModel.getObjectProperty(PAV + "authoredBy");
-		authoredOn = ontModel.getDatatypeProperty(PAV + "authoredOn");
-		retrievedFrom = ontModel.getObjectProperty(PAV + "retrievedFrom");
-		retrievedBy = ontModel.getObjectProperty(PAV + "retrievedBy");
-		retrievedOn = ontModel.getDatatypeProperty(PAV + "retrievedOn");
-
-		checkNotNull(createdBy, createdOn, authoredBy, authoredOn,
-				retrievedFrom, retrievedBy, retrievedOn);
-
-		pav = ontModel;
-	}
-
-	protected synchronized void loadPROVAQ() {
-		if (provaq != null)
-			return;
-		OntModel ontModel = loadOntologyFromClasspath(PROV_AQ_RDF, PAV);
-
-		// properties from foaf
-		hasProvenance = ontModel.getObjectProperty(PROV + "has_provenance");
-		checkNotNull(hasProvenance);
-
-		provaq = ontModel;
-	}
-
-	protected synchronized void loadPROVO() {
-		if (prov != null)
-			return;
-		OntModel ontModel = loadOntologyFromClasspath(PROV_O_RDF, PROV_O);
-		alternateOf = ontModel.getObjectProperty(PROV + "alternateOf");
-		checkNotNull(ontModel, alternateOf);
-
-		prov = ontModel;
-	}
-
-	protected synchronized void loadRO() {
-		if (ro != null)
-			return;
-		OntModel ontModel = loadOntologyFromClasspath(RO_OWL, RO);
-		entryName = ontModel.getDatatypeProperty(RO + "entryName");
-		checkNotNull(ontModel, entryName);
-		ro = ontModel;
-	}
-
 	public void readTo(InputStream manifestResourceAsStream, Manifest manifest,
 			URI manifestResourceBaseURI) throws IOException, RiotException {
 		OntModel model = new RDFToManifest().getOntModel();
diff --git a/taverna-robundle/src/main/resources/ontologies/dcam.owl b/taverna-robundle/src/main/resources/ontologies/dcam.owl
deleted file mode 100644
index d3cccc4..0000000
--- a/taverna-robundle/src/main/resources/ontologies/dcam.owl
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-DCMI Abstract model
-http://purl.org/wf4ever/dcam
-Modified URI of the owl:Ontology
-     
-Adapted from Dublin Core in OWL 2
-http://purl.org/NET/dc_owl2dl/dcam
-Modified for OWL compliance
-
-Adapted from Dublin Core
-http://purl.org/dc/dcam/
-
-Copyright © 2012-2015 University of Manchester
-Copyright © 2009-2014 Simon Reinhardt (http://simon-reinhardt.de/)
-Copyright © 1995-2012 DCMI, the Dublin Core Metadata Initiative (http://dublincore.org/)
-
-Licensed under a Creative Commons Attribution 3.0 Unported License (CC BY 3.0).
-http://creativecommons.org/licenses/by/3.0/
-
-
--->
-<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcam="http://purl.org/dc/dcam/" xmlns:dcmitype="http://purl.org/dc/dcmitype/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xml:base="http://triplr.org/rdf/bloody-byte.net/rdf/dc_owl2dl/dcam.ttl">
-    <!--
-  <owl:Ontology rdf:about="http://purl.org/NET/dc_owl2dl/dcam">
-  -->
-  <owl:Ontology rdf:about="http://purl.org/wf4ever/dcam">
-    <owl:imports rdf:resource="http://www.w3.org/TR/skos-reference/skos-owl1-dl.rdf"/>
-    <rdfs:label xml:lang="en">DCMI Abstract Model</rdfs:label>
-    <rdfs:comment xml:lang="en">OWL 2 DL ontology for a few terms of the DCMI abstract model from the http://purl.org/dc/dcam/ namespace</rdfs:comment>
-  </owl:Ontology>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/dcam/memberOf">
-    <skos:definition xml:lang="en-US">A relationship between a resource and a vocabulary encoding scheme which indicates that the resource is a member of a set.</skos:definition>
-    <rdfs:label xml:lang="en-US">Member Of</rdfs:label>
-    <rdfs:isDefinedBy rdf:resource="http://dublincore.org/documents/2007/06/04/abstract-model/"/>
-    <rdfs:range rdf:resource="http://purl.org/dc/dcam/VocabularyEncodingScheme"/>
-  </owl:ObjectProperty>
-  <owl:Class rdf:about="http://purl.org/dc/dcam/VocabularyEncodingScheme">
-    <skos:definition xml:lang="en-US">An enumerated set of resources.</skos:definition>
-    <rdfs:label xml:lang="en-US">Vocabulary Encoding Scheme</rdfs:label>
-    <rdfs:isDefinedBy rdf:resource="http://dublincore.org/documents/2007/06/04/abstract-model/"/>
-  </owl:Class>
-</rdf:RDF>
-<!--
-Made by Triplr http://triplr.org by Dave Beckett, http://purl.org/net/dajobe/
-from http://bloody-byte.net/rdf/dc_owl2dl/dcam.ttl in format turtle to rdfxml-abbrev
-using Redland 1.0.7 and Raptor 1.4.18 from http://librdf.org/
-This document is http://triplr.org/rdf/bloody-byte.net/rdf/dc_owl2dl/dcam.ttl
--->
diff --git a/taverna-robundle/src/main/resources/ontologies/dcterms_od.owl b/taverna-robundle/src/main/resources/ontologies/dcterms_od.owl
deleted file mode 100644
index 7a529de..0000000
--- a/taverna-robundle/src/main/resources/ontologies/dcterms_od.owl
+++ /dev/null
@@ -1,607 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-DCMI metadata terms     
-http://purl.org/wf4ever/dcterms_od
-Modified to reduce owl:imports
-
-Adapted from Dublin Core in OWL 2
-http://purl.org/NET/dc_owl2dl/terms_od
-Modified for OWL compliance
-
-Adapted from Dublin Core
-http://purl.org/dc/terms/
-
-Copyright © 2012-2015 University of Manchester
-Copyright © 2009-2014 Simon Reinhardt (http://simon-reinhardt.de/)
-Copyright © 1995-2012 DCMI, the Dublin Core Metadata Initiative (http://dublincore.org/)
-
-Licensed under a Creative Commons Attribution 3.0 Unported License (CC BY 3.0).
-http://creativecommons.org/licenses/by/3.0/
-
--->
-<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcam="http://purl.org/dc/dcam/" xmlns:dcmitype="http://purl.org/dc/dcmitype/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xml:base="http://triplr.org/rdf/bloody-byte.net/rdf/dc_owl2dl/dcterms_od.ttl">
-    <!--<owl:Ontology rdf:about="http://purl.org/NET/dc_owl2dl/terms_od">
-        <owl:imports rdf:resource="http://purl.org/NET/dc_owl2dl/dcam"/> -->
-<owl:Ontology rdf:about="http://purl.org/wf4ever/dcterms_od">
-    
-    <!-- <owl:imports rdf:resource="http://purl.org/wf4ever/dcam"/> -->
-    <rdfs:label xml:lang="en">DCMI metadata terms</rdfs:label>
-    <rdfs:comment xml:lang="en">OWL 2 DL ontology for Dublin Core metadata terms from the http://purl.org/dc/terms/ namespace; this version uses object and datatype properties instead of annotation properties where possible. Note that, because of this, when using this ontology you are restricted to using literals and non-literals in certain cases and especially you cannot use DCMI's DCSV.</rdfs:comment>
-  </owl:Ontology>
-  <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/abstract">
-    <skos:definition xml:lang="en-US">A summary of the resource.</skos:definition>
-    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/description"/>
-    <rdfs:label xml:lang="en-US">Abstract</rdfs:label>
-  </owl:AnnotationProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/accessRights">
-    <skos:definition xml:lang="en-US">Information about who can access the resource or an indication of its security status.</skos:definition>
-    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/rights"/>
-    <rdfs:label xml:lang="en-US">Access Rights</rdfs:label>
-    <rdfs:range rdf:resource="http://purl.org/dc/terms/RightsStatement"/>
-    <rdfs:comment xml:lang="en-US">Access Rights may include information regarding access or restrictions based on privacy, security, or other policies.</rdfs:comment>
-  </owl:ObjectProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/accrualMethod">
-    <skos:definition xml:lang="en-US">The method by which items are added to a collection.</skos:definition>
-    <rdfs:domain rdf:resource="http://purl.org/dc/terms/Collection"/>
-    <rdfs:label xml:lang="en-US">Accrual Method</rdfs:label>
-    <rdfs:range rdf:resource="http://purl.org/dc/terms/MethodOfAccrual"/>
-  </owl:ObjectProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/accrualPeriodicity">
-    <skos:definition xml:lang="en-US">The frequency with which items are added to a collection.</skos:definition>
-    <rdfs:domain rdf:resource="http://purl.org/dc/terms/Collection"/>
-    <rdfs:label xml:lang="en-US">Accrual Periodicity</rdfs:label>
-    <rdfs:range rdf:resource="http://purl.org/dc/terms/Frequency"/>
-  </owl:ObjectProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/accrualPolicy">
-    <skos:definition xml:lang="en-US">The policy governing the addition of items to a collection.</skos:definition>
-    <rdfs:domain rdf:resource="http://purl.org/dc/terms/Collection"/>
-    <rdfs:label xml:lang="en-US">Accrual Policy</rdfs:label>
-    <rdfs:range rdf:resource="http://purl.org/dc/terms/Policy"/>
-  </owl:ObjectProperty>
-  <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/alternative">
-    <skos:definition xml:lang="en-US">An alternative name for the resource.</skos:definition>
-    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/title"/>
-    <rdfs:label xml:lang="en-US">Alternative Title</rdfs:label>
-    <skos:note xml:lang="en-US">In current practice, this term is used primarily with literal values; however, there are important uses with non-literal values as well. As of December 2007, the DCMI Usage Board is leaving this range unspecified pending an investigation of options.</skos:note>
-    <rdfs:comment xml:lang="en-US">The distinction between titles and alternative titles is application-specific.</rdfs:comment>
-  </owl:AnnotationProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/audience">
-    <skos:definition xml:lang="en-US">A class of entity for whom the resource is intended or useful.</skos:definition>
-    <rdfs:label xml:lang="en-US">Audience</rdfs:label>
-    <rdfs:range rdf:resource="http://purl.org/dc/terms/AgentClass"/>
-  </owl:ObjectProperty>
-  <owl:DatatypeProperty rdf:about="http://purl.org/dc/terms/available">
-    <skos:definition xml:lang="en-US">Date (often a range) that the resource became or will become available.</skos:definition>
-    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/date"/>
-    <rdfs:label xml:lang="en-US">Date Available</rdfs:label>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-  </owl:DatatypeProperty>
-  <owl:DatatypeProperty rdf:about="http://purl.org/dc/terms/bibliographicCitation">
-    <skos:definition xml:lang="en-US">A bibliographic reference for the resource.</skos:definition>
-    <rdfs:domain rdf:resource="http://purl.org/dc/terms/BibliographicResource"/>
-    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/identifier"/>
-    <rdfs:label xml:lang="en-US">Bibliographic Citation</rdfs:label>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-    <rdfs:comment xml:lang="en-US">Recommended practice is to include sufficient bibliographic detail to identify the resource as unambiguously as possible.</rdfs:comment>
-  </owl:DatatypeProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/conformsTo">
-    <skos:definition xml:lang="en-US">An established standard to which the described resource conforms.</skos:definition>
-    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/relation"/>
-    <rdfs:label xml:lang="en-US">Conforms To</rdfs:label>
-    <rdfs:range rdf:resource="http://purl.org/dc/terms/Standard"/>
-  </owl:ObjectProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/contributor">
-    <skos:definition xml:lang="en-US">An entity responsible for making contributions to the resource.</skos:definition>
-    <rdfs:label xml:lang="en-US">Contributor</rdfs:label>
-    <rdfs:range rdf:resource="http://purl.org/dc/terms/Agent"/>
-    <rdfs:comment xml:lang="en-US">Examples of a Contributor include a person, an organization, or a service. Typically, the name of a Contributor should be used to indicate the entity.</rdfs:comment>
-  </owl:ObjectProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/coverage">
-    <skos:definition xml:lang="en-US">The spatial or temporal topic of the resource, the spatial applicability of the resource, or the jurisdiction under which the resource is relevant.</skos:definition>
-    <dcterms:bibliographicCitation>[TGN] http://www.getty.edu/research/tools/vocabulary/tgn/index.html</dcterms:bibliographicCitation>
-    <rdfs:seeAlso rdf:resource="http://www.getty.edu/research/tools/vocabulary/tgn/index.html"/>
-    <rdfs:label xml:lang="en-US">Coverage</rdfs:label>
-    <rdfs:range rdf:resource="http://purl.org/dc/terms/LocationPeriodOrJurisdiction"/>
-    <skos:note xml:lang="en">In this ontology this property has been defined as an object property, meaning when using this ontology you cannot encode its value as a literal (e.g. by using DCMI's DCSV) but only as a related description.</skos:note>
-    <rdfs:comment xml:lang="en-US">Spatial topic and spatial applicability may be a named place or a location specified by its geographic coordinates. Temporal topic may be a named period, date, or date range. A jurisdiction may be a named administrative entity or a geographic place to which the resource applies. Recommended best practice is to use a controlled vocabulary such as the Thesaurus of Geographic Names [TGN]. Where appropriate, named places or time periods can be used in preference to numeric identifiers such as sets of coordinates or date ranges.</rdfs:comment>
-  </owl:ObjectProperty>
-  <owl:DatatypeProperty rdf:about="http://purl.org/dc/terms/created">
-    <skos:definition xml:lang="en-US">Date of creation of the resource.</skos:definition>
-    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/date"/>
-    <rdfs:label xml:lang="en-US">Date Created</rdfs:label>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-  </owl:DatatypeProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/creator">
-    <skos:definition xml:lang="en-US">An entity primarily responsible for making the resource.</skos:definition>
-    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/contributor"/>
-    <rdfs:label xml:lang="en-US">Creator</rdfs:label>
-    <rdfs:range rdf:resource="http://purl.org/dc/terms/Agent"/>
-    <rdfs:comment xml:lang="en-US">Examples of a Creator include a person, an organization, or a service. Typically, the name of a Creator should be used to indicate the entity.</rdfs:comment>
-  </owl:ObjectProperty>
-  <owl:DatatypeProperty rdf:about="http://purl.org/dc/terms/date">
-    <skos:definition xml:lang="en-US">A point or period of time associated with an event in the lifecycle of the resource.</skos:definition>
-    <dcterms:bibliographicCitation>[W3CDTF] http://www.w3.org/TR/NOTE-datetime</dcterms:bibliographicCitation>
-    <rdfs:seeAlso rdf:resource="http://www.w3.org/TR/NOTE-datetime"/>
-    <rdfs:label xml:lang="en-US">Date</rdfs:label>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-    <rdfs:comment xml:lang="en-US">Date may be used to express temporal information at any level of granularity. Recommended best practice is to use an encoding scheme, such as the W3CDTF profile of ISO 8601 [W3CDTF].</rdfs:comment>
-  </owl:DatatypeProperty>
-  <owl:DatatypeProperty rdf:about="http://purl.org/dc/terms/dateAccepted">
-    <skos:definition xml:lang="en-US">Date of acceptance of the resource.</skos:definition>
-    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/date"/>
-    <rdfs:label xml:lang="en-US">Date Accepted</rdfs:label>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-    <rdfs:comment xml:lang="en-US">Examples of resources to which a Date Accepted may be relevant are a thesis (accepted by a university department) or an article (accepted by a journal).</rdfs:comment>
-  </owl:DatatypeProperty>
-  <owl:DatatypeProperty rdf:about="http://purl.org/dc/terms/dateCopyrighted">
-    <skos:definition xml:lang="en-US">Date of copyright.</skos:definition>
-    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/date"/>
-    <rdfs:label xml:lang="en-US">Date Copyrighted</rdfs:label>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-  </owl:DatatypeProperty>
-  <owl:DatatypeProperty rdf:about="http://purl.org/dc/terms/dateSubmitted">
-    <skos:definition xml:lang="en-US">Date of submission of the resource.</skos:definition>
-    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/date"/>
-    <rdfs:label xml:lang="en-US">Date Submitted</rdfs:label>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-    <rdfs:comment xml:lang="en-US">Examples of resources to which a Date Submitted may be relevant are a thesis (submitted to a university department) or an article (submitted to a journal).</rdfs:comment>
-  </owl:DatatypeProperty>
-  <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/description">
-    <skos:definition xml:lang="en-US">An account of the resource.</skos:definition>
-    <rdfs:label xml:lang="en-US">Description</rdfs:label>
-    <rdfs:comment xml:lang="en-US">Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource.</rdfs:comment>
-  </owl:AnnotationProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/educationLevel">
-    <skos:definition xml:lang="en-US">A class of entity, defined in terms of progression through an educational or training context, for which the described resource is intended.</skos:definition>
-    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/audience"/>
-    <rdfs:label xml:lang="en-US">Audience Education Level</rdfs:label>
-    <rdfs:range rdf:resource="http://purl.org/dc/terms/AgentClass"/>
-  </owl:ObjectProperty>
-  <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/extent">
-    <skos:definition xml:lang="en-US">The size or duration of the resource.</skos:definition>
-    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/format"/>
-    <rdfs:label xml:lang="en-US">Extent</rdfs:label>
-    <rdfs:range rdf:resource="http://purl.org/dc/terms/SizeOrDuration"/>
-    <skos:note xml:lang="en">In this ontology this property has been defined as an object property, meaning when using this ontology you cannot encode its value as a literal (e.g. by using DCMI's DCSV) but only as a related description.</skos:note>
-  </owl:AnnotationProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/format">
-    <skos:definition xml:lang="en-US">The file format, physical medium, or dimensions of the resource.</skos:definition>
-    <dcterms:bibliographicCitation>[MIME] http://www.iana.org/assignments/media-types/</dcterms:bibliographicCitation>
-    <rdfs:seeAlso rdf:resource="http://www.iana.org/assignments/media-types/"/>
-    <rdfs:label xml:lang="en-US">Format</rdfs:label>
-    <rdfs:range rdf:resource="http://purl.org/dc/terms/MediaTypeOrExtent"/>
-    <skos:note xml:lang="en">In this ontology this property has been defined as an object property, meaning when using this ontology you cannot encode its value as a literal (e.g. by using DCMI's DCSV) but only as a related description.</skos:note>
-    <rdfs:comment xml:lang="en-US">Examples of dimensions include size and duration. Recommended best practice is to use a controlled vocabulary such as the list of Internet Media Types [MIME].</rdfs:comment>
-  </owl:ObjectProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/hasFormat">
-    <skos:definition xml:lang="en-US">A related resource that is substantially the same as the pre-existing described resource, but in another format.</skos:definition>
-    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/relation"/>
-    <rdfs:label xml:lang="en-US">Has Format</rdfs:label>
-  </owl:ObjectProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/hasPart">
-    <skos:definition xml:lang="en-US">A related resource that is included either physically or logically in the described resource.</skos:definition>
-    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/relation"/>
-    <rdfs:label xml:lang="en-US">Has Part</rdfs:label>
-  </owl:ObjectProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/hasVersion">
-    <skos:definition xml:lang="en-US">A related resource that is a version, edition, or adaptation of the described resource.</skos:definition>
-    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/relation"/>
-    <rdfs:label xml:lang="en-US">Has Version</rdfs:label>
-  </owl:ObjectProperty>
-  <owl:DatatypeProperty rdf:about="http://purl.org/dc/terms/identifier">
-    <skos:definition xml:lang="en-US">An unambiguous reference to the resource within a given context.</skos:definition>
-    <rdfs:label xml:lang="en-US">Identifier</rdfs:label>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-    <rdfs:comment xml:lang="en-US">Recommended best practice is to identify the resource by means of a string conforming to a formal identification system.</rdfs:comment>
-  </owl:DatatypeProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/instructionalMethod">
-    <skos:definition xml:lang="en-US">A process, used to engender knowledge, attitudes and skills, that the described resource is designed to support.</skos:definition>
-    <rdfs:label xml:lang="en-US">Instructional Method</rdfs:label>
-    <rdfs:range rdf:resource="http://purl.org/dc/terms/MethodOfInstruction"/>
-    <rdfs:comment xml:lang="en-US">Instructional Method will typically include ways of presenting instructional materials or conducting instructional activities, patterns of learner-to-learner and learner-to-instructor interactions, and mechanisms by which group and individual levels of learning are measured. Instructional methods include all aspects of the instruction and learning processes from planning and implementation through evaluation and feedback.</rdfs:comment>
-  </owl:ObjectProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/isFormatOf">
-    <skos:definition xml:lang="en-US">A related resource that is substantially the same as the described resource, but in another format.</skos:definition>
-    <owl:inverseOf rdf:resource="http://purl.org/dc/terms/hasFormat"/>
-    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/relation"/>
-    <rdfs:label xml:lang="en-US">Is Format Of</rdfs:label>
-  </owl:ObjectProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/isPartOf">
-    <skos:definition xml:lang="en-US">A related resource in which the described resource is physically or logically included.</skos:definition>
-    <owl:inverseOf rdf:resource="http://purl.org/dc/terms/hasPart"/>
-    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/relation"/>
-    <rdfs:label xml:lang="en-US">Is Part Of</rdfs:label>
-  </owl:ObjectProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/isReferencedBy">
-    <skos:definition xml:lang="en-US">A related resource that references, cites, or otherwise points to the described resource.</skos:definition>
-    <owl:inverseOf rdf:resource="http://purl.org/dc/terms/creator"/>
-    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/relation"/>
-    <rdfs:label xml:lang="en-US">Is Referenced By</rdfs:label>
-  </owl:ObjectProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/isReplacedBy">
-    <skos:definition xml:lang="en-US">A related resource that supplants, displaces, or supersedes the described resource.</skos:definition>
-    <owl:inverseOf rdf:resource="http://purl.org/dc/terms/replaces"/>
-    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/relation"/>
-    <rdfs:label xml:lang="en-US">Is Replaced By</rdfs:label>
-  </owl:ObjectProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/creator"/>
-  <rdf:Description rdf:about="http://purl.org/dc/terms/creator">
-    <rdfs:label xml:lang="en-US">Is Required By</rdfs:label>
-  </rdf:Description>
-  <rdf:Description rdf:about="http://purl.org/dc/terms/creator">
-    <skos:definition xml:lang="en-US">A related resource that requires the described resource to support its function, delivery, or coherence.</skos:definition>
-  </rdf:Description>
-  <rdf:Description rdf:about="http://purl.org/dc/terms/creator">
-    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/relation"/>
-  </rdf:Description>
-  <rdf:Description rdf:about="http://purl.org/dc/terms/creator">
-    <owl:inverseOf rdf:resource="http://purl.org/dc/terms/requires"/>
-  </rdf:Description>
-  <owl:DatatypeProperty rdf:about="http://purl.org/dc/terms/issued">
-    <skos:definition xml:lang="en-US">Date of formal issuance (e.g., publication) of the resource.</skos:definition>
-    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/date"/>
-    <rdfs:label xml:lang="en-US">Date Issued</rdfs:label>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-  </owl:DatatypeProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/isVersionOf">
-    <skos:definition xml:lang="en-US">A related resource of which the described resource is a version, edition, or adaptation.</skos:definition>
-    <owl:inverseOf rdf:resource="http://purl.org/dc/terms/hasVersion"/>
-    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/relation"/>
-    <rdfs:label xml:lang="en-US">Is Version Of</rdfs:label>
-    <rdfs:comment xml:lang="en-US">Changes in version imply substantive changes in content rather than differences in format.</rdfs:comment>
-  </owl:ObjectProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/language">
-    <skos:definition xml:lang="en-US">A language of the resource.</skos:definition>
-    <dcterms:bibliographicCitation>[RFC4646] http://www.ietf.org/rfc/rfc4646.txt</dcterms:bibliographicCitation>
-    <rdfs:seeAlso rdf:resource="http://www.ietf.org/rfc/rfc4646.txt"/>
-    <rdfs:label xml:lang="en-US">Language</rdfs:label>
-    <rdfs:range rdf:resource="http://purl.org/dc/terms/LinguisticSystem"/>
-    <skos:note xml:lang="en">In this ontology this property has been defined as an object property, meaning when using this ontology you cannot encode its value as a literal (e.g. as a language code or tag) but only as a non-literal value.</skos:note>
-    <rdfs:comment xml:lang="en-US">Recommended best practice is to use a controlled vocabulary such as RFC 4646 [RFC4646].</rdfs:comment>
-  </owl:ObjectProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/license">
-    <skos:definition xml:lang="en-US">A legal document giving official permission to do something with the resource.</skos:definition>
-    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/rights"/>
-    <rdfs:label xml:lang="en-US">License</rdfs:label>
-    <rdfs:range rdf:resource="http://purl.org/dc/terms/LicenseDocument"/>
-  </owl:ObjectProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/mediator">
-    <skos:definition xml:lang="en-US">An entity that mediates access to the resource and for whom the resource is intended or useful.</skos:definition>
-    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/audience"/>
-    <rdfs:label xml:lang="en-US">Mediator</rdfs:label>
-    <rdfs:range rdf:resource="http://purl.org/dc/terms/AgentClass"/>
-    <rdfs:comment xml:lang="en-US">In an educational context, a mediator might be a parent, teacher, teaching assistant, or care-giver.</rdfs:comment>
-  </owl:ObjectProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/medium">
-    <skos:definition xml:lang="en-US">The material or physical carrier of the resource.</skos:definition>
-    <rdfs:domain rdf:resource="http://purl.org/dc/terms/PhysicalResource"/>
-    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/format"/>
-    <rdfs:label xml:lang="en-US">Medium</rdfs:label>
-    <rdfs:range rdf:resource="http://purl.org/dc/terms/PhysicalMedium"/>
-    <skos:note xml:lang="en">In this ontology this property has been defined as an object property, meaning when using this ontology you cannot encode its value as a literal but only as a related description.</skos:note>
-  </owl:ObjectProperty>
-  <owl:DatatypeProperty rdf:about="http://purl.org/dc/terms/modified">
-    <skos:definition xml:lang="en-US">Date on which the resource was changed.</skos:definition>
-    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/date"/>
-    <rdfs:label xml:lang="en-US">Date Modified</rdfs:label>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-  </owl:DatatypeProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/provenance">
-    <skos:definition xml:lang="en-US">A statement of any changes in ownership and custody of the resource since its creation that are significant for its authenticity, integrity, and interpretation.</skos:definition>
-    <rdfs:label xml:lang="en-US">Provenance</rdfs:label>
-    <rdfs:range rdf:resource="http://purl.org/dc/terms/ProvenanceStatement"/>
-    <rdfs:comment xml:lang="en-US">The statement may include a description of any changes successive custodians made to the resource.</rdfs:comment>
-  </owl:ObjectProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/publisher">
-    <skos:definition xml:lang="en-US">An entity responsible for making the resource available.</skos:definition>
-    <rdfs:label xml:lang="en-US">Publisher</rdfs:label>
-    <rdfs:range rdf:resource="http://purl.org/dc/terms/Agent"/>
-    <rdfs:comment xml:lang="en-US">Examples of a Publisher include a person, an organization, or a service. Typically, the name of a Publisher should be used to indicate the entity.</rdfs:comment>
-  </owl:ObjectProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/creator"/>
-  <rdf:Description rdf:about="http://purl.org/dc/terms/creator">
-    <rdfs:label xml:lang="en-US">References</rdfs:label>
-  </rdf:Description>
-  <rdf:Description rdf:about="http://purl.org/dc/terms/creator">
-    <skos:definition xml:lang="en-US">A related resource that is referenced, cited, or otherwise pointed to by the described resource.</skos:definition>
-  </rdf:Description>
-  <rdf:Description rdf:about="http://purl.org/dc/terms/creator">
-    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/relation"/>
-  </rdf:Description>
-  <owl:SymmetricProperty rdf:about="http://purl.org/dc/terms/relation">
-    <skos:definition xml:lang="en-US">A related resource.</skos:definition>
-    <rdfs:label xml:lang="en-US">Relation</rdfs:label>
-    <rdfs:comment xml:lang="en-US">Recommended best practice is to identify the related resource by means of a string conforming to a formal identification system.</rdfs:comment>
-  </owl:SymmetricProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/replaces">
-    <skos:definition xml:lang="en-US">A related resource that is supplanted, displaced, or superseded by the described resource.</skos:definition>
-    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/relation"/>
-    <rdfs:label xml:lang="en-US">Replaces</rdfs:label>
-  </owl:ObjectProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/requires">
-    <skos:definition xml:lang="en-US">A related resource that is required by the described resource to support its function, delivery, or coherence.</skos:definition>
-    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/relation"/>
-    <rdfs:label xml:lang="en-US">Requires</rdfs:label>
-  </owl:ObjectProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/rights">
-    <skos:definition xml:lang="en-US">Information about rights held in and over the resource.</skos:definition>
-    <rdfs:label xml:lang="en-US">Rights</rdfs:label>
-    <rdfs:range rdf:resource="http://purl.org/dc/terms/RightsStatement"/>
-    <rdfs:comment xml:lang="en-US">Typically, rights information includes a statement about various property rights associated with the resource, including intellectual property rights.</rdfs:comment>
-  </owl:ObjectProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/rightsHolder">
-    <skos:definition xml:lang="en-US">A person or organization owning or managing rights over the resource.</skos:definition>
-    <rdfs:label xml:lang="en-US">Rights Holder</rdfs:label>
-    <rdfs:range rdf:resource="http://purl.org/dc/terms/Agent"/>
-  </owl:ObjectProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/source">
-    <skos:definition xml:lang="en-US">A related resource from which the described resource is derived.</skos:definition>
-    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/relation"/>
-    <rdfs:label xml:lang="en-US">Source</rdfs:label>
-    <rdfs:comment xml:lang="en-US">The described resource may be derived from the related resource in whole or in part. Recommended best practice is to identify the related resource by means of a string conforming to a formal identification system.</rdfs:comment>
-  </owl:ObjectProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/spatial">
-    <skos:definition xml:lang="en-US">Spatial characteristics of the resource.</skos:definition>
-    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/coverage"/>
-    <rdfs:label xml:lang="en-US">Spatial Coverage</rdfs:label>
-    <rdfs:range rdf:resource="http://purl.org/dc/terms/Location"/>
-    <skos:note xml:lang="en">In this ontology this property has been defined as an object property, meaning when using this ontology you cannot encode its value as a literal (e.g. by using DCMI's DCSV) but only as a related description.</skos:note>
-  </owl:ObjectProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/subject">
-    <skos:definition xml:lang="en-US">The topic of the resource.</skos:definition>
-    <rdfs:label xml:lang="en-US">Subject</rdfs:label>
-    <rdfs:comment xml:lang="en-US">Typically, the subject will be represented using keywords, key phrases, or classification codes. Recommended best practice is to use a controlled vocabulary. To describe the spatial or temporal topic of the resource, use the Coverage element.</rdfs:comment>
-  </owl:ObjectProperty>
-  <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/tableOfContents">
-    <skos:definition xml:lang="en-US">A list of subunits of the resource.</skos:definition>
-    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/description"/>
-    <rdfs:label xml:lang="en-US">Table Of Contents</rdfs:label>
-  </owl:AnnotationProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/temporal">
-    <skos:definition xml:lang="en-US">Temporal characteristics of the resource.</skos:definition>
-    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/coverage"/>
-    <rdfs:label xml:lang="en-US">Temporal Coverage</rdfs:label>
-    <rdfs:range rdf:resource="http://purl.org/dc/terms/PeriodOfTime"/>
-    <skos:note xml:lang="en">In this ontology this property has been defined as an object property, meaning when using this ontology you cannot encode its value as a literal (e.g. by using DCMI's DCSV) but only as a related description.</skos:note>
-  </owl:ObjectProperty>
-  <owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/title">
-    <skos:definition xml:lang="en-US">A name given to the resource.</skos:definition>
-    <rdfs:label xml:lang="en-US">Title</rdfs:label>
-    <skos:note xml:lang="en-US">In current practice, this term is used primarily with literal values; however, there are important uses with non-literal values as well. As of December 2007, the DCMI Usage Board is leaving this range unspecified pending an investigation of options.</skos:note>
-  </owl:AnnotationProperty>
-  <owl:ObjectProperty rdf:about="http://purl.org/dc/terms/type">
-    <skos:definition xml:lang="en-US">The nature or genre of the resource.</skos:definition>
-    <dcterms:bibliographicCitation>[DCMITYPE] http://dublincore.org/documents/dcmi-type-vocabulary/</dcterms:bibliographicCitation>
-    <rdfs:seeAlso rdf:resource="http://dublincore.org/documents/dcmi-type-vocabulary/"/>
-    <rdfs:label xml:lang="en-US">Type</rdfs:label>
-    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
-    <rdfs:comment xml:lang="en-US">Recommended best practice is to use a controlled vocabulary such as the DCMI Type Vocabulary [DCMITYPE]. To describe the file format, physical medium, or dimensions of the resource, use the Format element.</rdfs:comment>
-  </owl:ObjectProperty>
-  <owl:DatatypeProperty rdf:about="http://purl.org/dc/terms/valid">
-    <skos:definition xml:lang="en-US">Date (often a range) of validity of a resource.</skos:definition>
-    <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/date"/>
-    <rdfs:label xml:lang="en-US">Date Valid</rdfs:label>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-  </owl:DatatypeProperty>
-  <dcam:VocabularyEncodingScheme rdf:about="http://purl.org/dc/terms/DCMIType">
-    <rdfs:isDefinedBy rdf:resource="http://dublincore.org/documents/dcmi-type-vocabulary/"/>
-    <skos:definition xml:lang="en-US">The set of classes specified by the DCMI Type Vocabulary, used to categorize the nature or genre of the resource.</skos:definition>
-    <rdfs:label xml:lang="en-US">DCMI Type Vocabulary</rdfs:label>
-  </dcam:VocabularyEncodingScheme>
-  <dcam:VocabularyEncodingScheme rdf:about="http://purl.org/dc/terms/DDC">
-    <rdfs:isDefinedBy rdf:resource="http://www.oclc.org/dewey/"/>
-    <skos:definition xml:lang="en-US">The set of conceptual resources specified by the Dewey Decimal Classification.</skos:definition>
-    <rdfs:label xml:lang="en-US">DDC</rdfs:label>
-  </dcam:VocabularyEncodingScheme>
-  <dcam:VocabularyEncodingScheme rdf:about="http://purl.org/dc/terms/IMT">
-    <rdfs:isDefinedBy rdf:resource="http://www.iana.org/assignments/media-types/"/>
-    <skos:definition xml:lang="en-US">The set of media types specified by the Internet Assigned Numbers Authority.</skos:definition>
-    <rdfs:label xml:lang="en-US">IMT</rdfs:label>
-  </dcam:VocabularyEncodingScheme>
-  <dcam:VocabularyEncodingScheme rdf:about="http://purl.org/dc/terms/LCC">
-    <rdfs:isDefinedBy rdf:resource="http://lcweb.loc.gov/catdir/cpso/lcco/lcco.html"/>
-    <skos:definition xml:lang="en-US">The set of conceptual resources specified by the Library of Congress Classification.</skos:definition>
-    <rdfs:label xml:lang="en-US">LCC</rdfs:label>
-  </dcam:VocabularyEncodingScheme>
-  <dcam:VocabularyEncodingScheme rdf:about="http://purl.org/dc/terms/LCSH">
-    <skos:definition xml:lang="en-US">The set of labeled concepts specified by the Library of Congress Subject Headings.</skos:definition>
-    <rdfs:label xml:lang="en-US">LCSH</rdfs:label>
-  </dcam:VocabularyEncodingScheme>
-  <dcam:VocabularyEncodingScheme rdf:about="http://purl.org/dc/terms/MESH">
-    <rdfs:isDefinedBy rdf:resource="http://www.nlm.nih.gov/mesh/meshhome.html"/>
-    <skos:definition xml:lang="en-US">The set of labeled concepts specified by the Medical Subject Headings.</skos:definition>
-    <rdfs:label xml:lang="en-US">MeSH</rdfs:label>
-  </dcam:VocabularyEncodingScheme>
-  <dcam:VocabularyEncodingScheme rdf:about="http://purl.org/dc/terms/creator"/>
-  <rdf:Description rdf:about="http://purl.org/dc/terms/creator">
-    <rdfs:label xml:lang="en-US">NLM</rdfs:label>
-  </rdf:Description>
-  <rdf:Description rdf:about="http://purl.org/dc/terms/creator">
-    <skos:definition xml:lang="en-US">The set of conceptual resources specified by the National Library of Medicine Classification.</skos:definition>
-  </rdf:Description>
-  <rdf:Description rdf:about="http://purl.org/dc/terms/creator">
-    <rdfs:isDefinedBy rdf:resource="http://wwwcf.nlm.nih.gov/class/"/>
-  </rdf:Description>
-  <dcam:VocabularyEncodingScheme rdf:about="http://purl.org/dc/terms/TGN">
-    <rdfs:isDefinedBy rdf:resource="http://www.getty.edu/research/tools/vocabulary/tgn/index.html"/>
-    <skos:definition xml:lang="en-US">The set of places specified by the Getty Thesaurus of Geographic Names.</skos:definition>
-    <rdfs:label xml:lang="en-US">TGN</rdfs:label>
-  </dcam:VocabularyEncodingScheme>
-  <dcam:VocabularyEncodingScheme rdf:about="http://purl.org/dc/terms/UDC">
-    <rdfs:isDefinedBy rdf:resource="http://www.udcc.org/"/>
-    <skos:definition xml:lang="en-US">The set of conceptual resources specified by the Universal Decimal Classification.</skos:definition>
-    <rdfs:label xml:lang="en-US">UDC</rdfs:label>
-  </dcam:VocabularyEncodingScheme>
-  <rdfs:Datatype rdf:about="http://purl.org/dc/terms/Box">
-    <rdfs:isDefinedBy rdf:resource="http://purl.org/dc/terms/creator"/>
-    <skos:definition xml:lang="en-US">The set of regions in space defined by their geographic coordinates according to the DCMI Box Encoding Scheme.</skos:definition>
-    <rdfs:label xml:lang="en-US">DCMI Box</rdfs:label>
-  </rdfs:Datatype>
-  <rdfs:Datatype rdf:about="http://purl.org/dc/terms/ISO3166">
-    <rdfs:isDefinedBy rdf:resource="http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html"/>
-    <skos:definition xml:lang="en-US">The set of codes listed in ISO 3166-1 for the representation of names of countries.</skos:definition>
-    <rdfs:label xml:lang="en-US">ISO 3166</rdfs:label>
-  </rdfs:Datatype>
-  <rdfs:Datatype rdf:about="http://purl.org/dc/terms/ISO639-2">
-    <rdfs:isDefinedBy rdf:resource="http://lcweb.loc.gov/standards/iso639-2/langhome.html"/>
-    <skos:definition xml:lang="en-US">The three-letter alphabetic codes listed in ISO639-2 for the representation of names of languages.</skos:definition>
-    <rdfs:label xml:lang="en-US">ISO 639-2</rdfs:label>
-  </rdfs:Datatype>
-  <rdfs:Datatype rdf:about="http://purl.org/dc/terms/ISO639-3">
-    <rdfs:isDefinedBy rdf:resource="http://www.sil.org/iso639-3/"/>
-    <skos:definition xml:lang="en-US">The set of three-letter codes listed in ISO 639-3 for the representation of names of languages.</skos:definition>
-    <rdfs:label xml:lang="en-US">ISO 639-3</rdfs:label>
-  </rdfs:Datatype>
-  <rdfs:Datatype rdf:about="http://purl.org/dc/terms/Period">
-    <rdfs:isDefinedBy rdf:resource="http://dublincore.org/documents/dcmi-period/"/>
-    <skos:definition xml:lang="en-US">The set of time intervals defined by their limits according to the DCMI Period Encoding Scheme.</skos:definition>
-    <rdfs:label xml:lang="en-US">DCMI Period</rdfs:label>
-  </rdfs:Datatype>
-  <rdfs:Datatype rdf:about="http://purl.org/dc/terms/Point">
-    <rdfs:isDefinedBy rdf:resource="http://dublincore.org/documents/dcmi-point/"/>
-    <skos:definition xml:lang="en-US">The set of points in space defined by their geographic coordinates according to the DCMI Point Encoding Scheme.</skos:definition>
-    <rdfs:label xml:lang="en-US">DCMI Point</rdfs:label>
-  </rdfs:Datatype>
-  <rdfs:Datatype rdf:about="http://purl.org/dc/terms/creator"/>
-  <rdf:Description rdf:about="http://purl.org/dc/terms/creator">
-    <rdfs:label xml:lang="en-US">RFC 1766</rdfs:label>
-  </rdf:Description>
-  <rdf:Description rdf:about="http://purl.org/dc/terms/creator">
-    <skos:definition xml:lang="en-US">The set of tags, constructed according to RFC 1766, for the identification of languages.</skos:definition>
-  </rdf:Description>
-  <rdf:Description rdf:about="http://purl.org/dc/terms/creator">
-    <rdfs:isDefinedBy rdf:resource="http://www.ietf.org/rfc/rfc1766.txt"/>
-  </rdf:Description>
-  <rdfs:Datatype rdf:about="http://purl.org/dc/terms/RFC3066">
-    <rdfs:isDefinedBy rdf:resource="http://www.ietf.org/rfc/rfc3066.txt"/>
-    <skos:definition xml:lang="en-US">The set of tags constructed according to RFC 3066 for the identification of languages.</skos:definition>
-    <rdfs:label xml:lang="en-US">RFC 3066</rdfs:label>
-    <rdfs:comment xml:lang="en-US">RFC 3066 has been obsoleted by RFC 4646.</rdfs:comment>
-  </rdfs:Datatype>
-  <rdfs:Datatype rdf:about="http://purl.org/dc/terms/RFC4646">
-    <rdfs:isDefinedBy rdf:resource="http://www.ietf.org/rfc/rfc4646.txt"/>
-    <skos:definition xml:lang="en-US">The set of tags constructed according to RFC 4646 for the identification of languages.</skos:definition>
-    <rdfs:label xml:lang="en-US">RFC 4646</rdfs:label>
-    <rdfs:comment xml:lang="en-US">RFC 4646 obsoletes RFC 3066.</rdfs:comment>
-  </rdfs:Datatype>
-  <rdfs:Datatype rdf:about="http://purl.org/dc/terms/URI">
-    <rdfs:isDefinedBy rdf:resource="http://www.ietf.org/rfc/rfc3986.txt"/>
-    <skos:definition xml:lang="en-US">The set of identifiers constructed according to the generic syntax for Uniform Resource Identifiers as specified by the Internet Engineering Task Force.</skos:definition>
-    <rdfs:label xml:lang="en-US">URI</rdfs:label>
-  </rdfs:Datatype>
-  <rdfs:Datatype rdf:about="http://purl.org/dc/terms/W3CDTF">
-    <rdfs:isDefinedBy rdf:resource="http://www.w3.org/TR/NOTE-datetime"/>
-    <skos:definition xml:lang="en-US">The set of dates and times constructed according to the W3C Date and Time Formats Specification.</skos:definition>
-    <rdfs:label xml:lang="en-US">W3C-DTF</rdfs:label>
-  </rdfs:Datatype>
-  <owl:Class rdf:about="http://purl.org/dc/terms/Agent">
-    <skos:definition xml:lang="en-US">A resource that acts or has the power to act.</skos:definition>
-    <rdf:type rdf:resource="http://purl.org/dc/terms/AgentClass"/>
-    <rdfs:label xml:lang="en-US">Agent</rdfs:label>
-    <rdfs:comment xml:lang="en-US">Examples of Agent include person, organization, and software agent.</rdfs:comment>
-  </owl:Class>
-  <owl:Class rdf:about="http://purl.org/dc/terms/AgentClass">
-    <skos:definition xml:lang="en-US">A group of agents.</skos:definition>
-    <rdfs:subClassOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
-    <rdfs:label xml:lang="en-US">Agent Class</rdfs:label>
-    <rdfs:comment xml:lang="en-US">Examples of Agent Class include groups seen as classes, such as students, women, charities, lecturers.</rdfs:comment>
-  </owl:Class>
-  <owl:Class rdf:about="http://purl.org/dc/terms/BibliographicResource">
-    <skos:definition xml:lang="en-US">A book, article, or other documentary resource.</skos:definition>
-    <rdfs:label xml:lang="en-US">Bibliographic Resource</rdfs:label>
-  </owl:Class>
-  <owl:Class rdf:about="http://purl.org/dc/terms/FileFormat">
-    <skos:definition xml:lang="en-US">A digital resource format.</skos:definition>
-    <rdfs:subClassOf rdf:resource="http://purl.org/dc/terms/MediaType"/>
-    <rdfs:label xml:lang="en-US">File Format</rdfs:label>
-    <rdfs:comment xml:lang="en-US">Examples include the formats defined by the list of Internet Media Types.</rdfs:comment>
-  </owl:Class>
-  <owl:Class rdf:about="http://purl.org/dc/terms/Frequency">
-    <skos:definition xml:lang="en-US">A rate at which something recurs.</skos:definition>
-    <rdfs:label xml:lang="en-US">Frequency</rdfs:label>
-  </owl:Class>
-  <owl:Class rdf:about="http://purl.org/dc/terms/Jurisdiction">
-    <skos:definition xml:lang="en-US">The extent or range of judicial, law enforcement, or other authority.</skos:definition>
-    <rdfs:subClassOf rdf:resource="http://purl.org/dc/terms/LocationPeriodOrJurisdiction"/>
-    <rdfs:label xml:lang="en-US">Jurisdiction</rdfs:label>
-  </owl:Class>
-  <owl:Class rdf:about="http://purl.org/dc/terms/LicenseDocument">
-    <skos:definition xml:lang="en-US">A legal document giving official permission to do something with a Resource.</skos:definition>
-    <rdfs:subClassOf rdf:resource="http://purl.org/dc/terms/RightsStatement"/>
-    <rdfs:label xml:lang="en-US">License Document</rdfs:label>
-  </owl:Class>
-  <owl:Class rdf:about="http://purl.org/dc/terms/LinguisticSystem">
-    <skos:definition xml:lang="en-US">A system of signs, symbols, sounds, gestures, or rules used in communication.</skos:definition>
-    <rdfs:label xml:lang="en-US">Linguistic System</rdfs:label>
-    <rdfs:comment xml:lang="en-US">Examples include written, spoken, sign, and computer languages.</rdfs:comment>
-  </owl:Class>
-  <owl:Class rdf:about="http://purl.org/dc/terms/Location">
-    <skos:definition xml:lang="en-US">A spatial region or named place.</skos:definition>
-    <rdfs:subClassOf rdf:resource="http://purl.org/dc/terms/LocationPeriodOrJurisdiction"/>
-    <rdfs:label xml:lang="en-US">Location</rdfs:label>
-  </owl:Class>
-  <owl:Class rdf:about="http://purl.org/dc/terms/LocationPeriodOrJurisdiction">
-    <skos:definition xml:lang="en-US">A location, period of time, or jurisdiction.</skos:definition>
-    <rdfs:label xml:lang="en-US">Location, Period, or Jurisdiction</rdfs:label>
-  </owl:Class>
-  <owl:Class rdf:about="http://purl.org/dc/terms/MediaType">
-    <skos:definition xml:lang="en-US">A file format or physical medium.</skos:definition>
-    <rdfs:subClassOf rdf:resource="http://purl.org/dc/terms/MediaTypeOrExtent"/>
-    <rdfs:label xml:lang="en-US">Media Type</rdfs:label>
-  </owl:Class>
-  <owl:Class rdf:about="http://purl.org/dc/terms/MediaTypeOrExtent">
-    <skos:definition xml:lang="en-US">A media type or extent.</skos:definition>
-    <rdfs:label xml:lang="en-US">Media Type or Extent</rdfs:label>
-  </owl:Class>
-  <owl:Class rdf:about="http://purl.org/dc/terms/MethodOfAccrual">
-    <skos:definition xml:lang="en-US">A method by which resources are added to a collection.</skos:definition>
-    <rdfs:label xml:lang="en-US">Method of Accrual</rdfs:label>
-  </owl:Class>
-  <owl:Class rdf:about="http://purl.org/dc/terms/MethodOfInstruction">
-    <skos:definition xml:lang="en-US">A process that is used to engender knowledge, attitudes, and skills.</skos:definition>
-    <rdfs:label xml:lang="en-US">Method of Instruction</rdfs:label>
-  </owl:Class>
-  <owl:Class rdf:about="http://purl.org/dc/terms/PeriodOfTime">
-    <skos:definition xml:lang="en-US">An interval of time that is named or defined by its start and end dates.</skos:definition>
-    <rdfs:subClassOf rdf:resource="http://purl.org/dc/terms/LocationPeriodOrJurisdiction"/>
-    <rdfs:label xml:lang="en-US">Period of Time</rdfs:label>
-  </owl:Class>
-  <owl:Class rdf:about="http://purl.org/dc/terms/PhysicalMedium">
-    <skos:definition xml:lang="en-US">A physical material or carrier.</skos:definition>
-    <rdfs:subClassOf rdf:resource="http://purl.org/dc/terms/MediaType"/>
-    <rdfs:label xml:lang="en-US">Physical Medium</rdfs:label>
-    <rdfs:comment xml:lang="en-US">Examples include paper, canvas, or DVD.</rdfs:comment>
-  </owl:Class>
-  <owl:Class rdf:about="http://purl.org/dc/terms/PhysicalResource">
-    <skos:definition xml:lang="en-US">A material thing.</skos:definition>
-    <rdfs:label xml:lang="en-US">Physical Resource</rdfs:label>
-  </owl:Class>
-  <owl:Class rdf:about="http://purl.org/dc/terms/Policy">
-    <skos:definition xml:lang="en-US">A plan or course of action by an authority, intended to influence and determine decisions, actions, and other matters.</skos:definition>
-    <rdfs:label xml:lang="en-US">Policy</rdfs:label>
-  </owl:Class>
-  <owl:Class rdf:about="http://purl.org/dc/terms/ProvenanceStatement">
-    <skos:definition xml:lang="en-US">A statement of any changes in ownership and custody of a resource since its creation that are significant for its authenticity, integrity, and interpretation.</skos:definition>
-    <rdfs:label xml:lang="en-US">Provenance Statement</rdfs:label>
-  </owl:Class>
-  <owl:Class rdf:about="http://purl.org/dc/terms/RightsStatement">
-    <skos:definition xml:lang="en-US">A statement about the intellectual property rights (IPR) held in or over a Resource, a legal document giving official permission to do something with a resource, or a statement about access rights.</skos:definition>
-    <rdfs:label xml:lang="en-US">Rights Statement</rdfs:label>
-  </owl:Class>
-  <owl:Class rdf:about="http://purl.org/dc/terms/SizeOrDuration">
-    <skos:definition xml:lang="en-US">A dimension or extent, or a time taken to play or execute.</skos:definition>
-    <rdfs:subClassOf rdf:resource="http://purl.org/dc/terms/MediaTypeOrExtent"/>
-    <rdfs:label xml:lang="en-US">Size or Duration</rdfs:label>
-    <rdfs:comment xml:lang="en-US">Examples include a number of pages, a specification of length, width, and breadth, or a period in hours, minutes, and seconds.</rdfs:comment>
-  </owl:Class>
-  <owl:Class rdf:about="http://purl.org/dc/terms/Standard">
-    <skos:definition xml:lang="en-US">A basis for comparison; a reference point against which other things can be evaluated.</skos:definition>
-    <rdfs:label xml:lang="en-US">Standard</rdfs:label>
-  </owl:Class>
-</rdf:RDF>
-<!--
-Made by Triplr http://triplr.org by Dave Beckett, http://purl.org/net/dajobe/
-from http://bloody-byte.net/rdf/dc_owl2dl/dcterms_od.ttl in format turtle to rdfxml-abbrev
-using Redland 1.0.7 and Raptor 1.4.18 from http://librdf.org/
-This document is http://triplr.org/rdf/bloody-byte.net/rdf/dc_owl2dl/dcterms_od.ttl
--->
diff --git a/taverna-robundle/src/main/resources/ontologies/foaf.rdf b/taverna-robundle/src/main/resources/ontologies/foaf.rdf
deleted file mode 100644
index bebd5e4..0000000
--- a/taverna-robundle/src/main/resources/ontologies/foaf.rdf
+++ /dev/null
@@ -1,620 +0,0 @@
-<?xml version='1.0'?>
-<!--
-     
-Friend of a Friend (FOAF) RDF vocabulary
-http://xmlns.com/foaf/spec/20140114.rdf
-Copyright © 2000-2014 Dan Brickley and Libby Miller
-
-This work is licensed under a Creative Commons Attribution License. 
-http://creativecommons.org/licenses/by/1.0/
-
--->
-<!-- This is the FOAF formal vocabulary description, expressed using W3C RDFS and OWL markup. foaf/spec version -->
-<!-- For more information about FOAF:                                            -->
-<!--   see the FOAF project homepage, http://www.foaf-project.org/               -->
-<!--   FOAF specification, http://xmlns.com/foaf/spec/                             -->
-<!--                                                                             -->
-<!-- first we introduce a number of RDF namespaces we will be using... -->
-<rdf:RDF 
-	xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
-	xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" 
-	xmlns:owl="http://www.w3.org/2002/07/owl#" 
-	xmlns:vs="http://www.w3.org/2003/06/sw-vocab-status/ns#" 
-	xmlns:foaf="http://xmlns.com/foaf/0.1/" 
-	xmlns:wot="http://xmlns.com/wot/0.1/" 
-	xmlns:dc="http://purl.org/dc/elements/1.1/">
-<!-- Here we describe general characteristics of the FOAF vocabulary ('ontology'). -->
-  <owl:Ontology rdf:about="http://xmlns.com/foaf/0.1/" dc:title="Friend of a Friend (FOAF) vocabulary" dc:description="The Friend of a Friend (FOAF) RDF vocabulary, described using W3C RDF Schema and the Web Ontology Language." >
-  </owl:Ontology>
-
-
-  <!-- OWL/RDF interop section - geeks only -->
-  <!--  most folk can ignore this lot. the game here is to make FOAF
-  	work with vanilla RDF/RDFS tools, and with the stricter OWL DL 
-	profile of OWL. At the moment we're in the OWL Full flavour of OWL. 
-	The following are tricks to try have the spec live in both worlds
-	at once. See
-		http://phoebus.cs.man.ac.uk:9999/OWL/Validator
-		http://www.mindswap.org/2003/pellet/demo.shtml
-	...for some tools that help. 					-->
-  <owl:AnnotationProperty rdf:about="http://xmlns.com/wot/0.1/assurance"/>
-  <owl:AnnotationProperty rdf:about="http://xmlns.com/wot/0.1/src_assurance"/>
-  <owl:AnnotationProperty rdf:about="http://www.w3.org/2003/06/sw-vocab-status/ns#term_status"/>
-  <!--  DC terms are NOT annotation properties in general, so we consider the following 
-	claims scoped to this document. They may be removed in future revisions if
-	OWL tools become more flexible. -->
-  <owl:AnnotationProperty rdf:about="http://purl.org/dc/elements/1.1/description"/>
-  <owl:AnnotationProperty rdf:about="http://purl.org/dc/elements/1.1/title"/>
-  <owl:AnnotationProperty rdf:about="http://purl.org/dc/elements/1.1/date"/>
-  <owl:Class rdf:about="http://www.w3.org/2000/01/rdf-schema#Class"/>
-
-<!--  <owl:Class rdf:about="http://www.w3.org/2000/01/rdf-schema#Resource"/>
-  <owl:Class rdf:about="http://www.w3.org/2000/01/rdf-schema#Literal"/> -->
-  <!-- end of OWL/RDF interop voodoo. mostly. -->
-
-  <!-- utility class, a candidate for replacing the pattern of subproperty-ing rdfs:label -->
-  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/LabelProperty" vs:term_status="unstable">
-    <rdfs:label>Label Property</rdfs:label>
-    <rdfs:comment>A foaf:LabelProperty is any RDF property with texual values that serve as labels.</rdfs:comment>
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdfs:Class>
-
-<!-- FOAF classes (types) are listed first. -->
-
-  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/Person" rdfs:label="Person" rdfs:comment="A person." vs:term_status="stable">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class" />
-    <owl:equivalentClass rdf:resource="http://schema.org/Person" />
-    <owl:equivalentClass rdf:resource="http://www.w3.org/2000/10/swap/pim/contact#Person" />
-<!--    <rdfs:subClassOf><owl:Class rdf:about="http://xmlns.com/wordnet/1.6/Person"/></rdfs:subClassOf> -->
-    <rdfs:subClassOf><owl:Class rdf:about="http://xmlns.com/foaf/0.1/Agent"/></rdfs:subClassOf>
-<!--    <rdfs:subClassOf><owl:Class rdf:about="http://xmlns.com/wordnet/1.6/Agent"/></rdfs:subClassOf> -->
-    <rdfs:subClassOf><owl:Class rdf:about="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing" rdfs:label="Spatial Thing"/></rdfs:subClassOf>
-    <!-- aside: 
-	are spatial things always spatially located? 
-	Person includes imaginary people... discuss... -->
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-
-<!--    <owl:disjointWith rdf:resource="http://xmlns.com/foaf/0.1/Document"/> this was a mistake; tattoo'd people, for example. -->
-
-    <owl:disjointWith rdf:resource="http://xmlns.com/foaf/0.1/Organization"/>
-    <owl:disjointWith rdf:resource="http://xmlns.com/foaf/0.1/Project"/>
-  </rdfs:Class>
-  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/Document" rdfs:label="Document" rdfs:comment="A document." vs:term_status="stable">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
-    <owl:equivalentClass rdf:resource="http://schema.org/CreativeWork" />
-<!--    <rdfs:subClassOf rdf:resource="http://xmlns.com/wordnet/1.6/Document"/> -->
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-    <owl:disjointWith rdf:resource="http://xmlns.com/foaf/0.1/Organization"/>
-    <owl:disjointWith rdf:resource="http://xmlns.com/foaf/0.1/Project"/>
-  </rdfs:Class>
-  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/Organization" rdfs:label="Organization" rdfs:comment="An organization." vs:term_status="stable">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
-<!--    <rdfs:subClassOf><owl:Class rdf:about="http://xmlns.com/wordnet/1.6/Organization"/></rdfs:subClassOf> -->
-    <rdfs:subClassOf rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-    <owl:disjointWith rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <owl:disjointWith rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-  </rdfs:Class>
-  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/Group" vs:term_status="stable" rdfs:label="Group" rdfs:comment="A class of Agents.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
-    <rdfs:subClassOf rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-  </rdfs:Class>
-  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/Agent" vs:term_status="stable" rdfs:label="Agent" rdfs:comment="An agent (eg. person, group, software or physical artifact).">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
-    <owl:equivalentClass rdf:resource="http://purl.org/dc/terms/Agent"/>
-<!--    <rdfs:subClassOf><owl:Class rdf:about="http://xmlns.com/wordnet/1.6/Agent-3"/></rdfs:subClassOf> -->
-  </rdfs:Class>
-  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/Project" vs:term_status="testing" rdfs:label="Project" rdfs:comment="A project (a collective endeavour of some kind).">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
-<!--    <rdfs:subClassOf><owl:Class rdf:about="http://xmlns.com/wordnet/1.6/Project"/></rdfs:subClassOf> -->
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-    <owl:disjointWith rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <owl:disjointWith rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-<!-- arguably a subclass of Agent; to be discussed -->
-  </rdfs:Class>
-  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/Image" vs:term_status="stable" rdfs:label="Image" rdfs:comment="An image.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
-    <owl:equivalentClass rdf:resource="http://schema.org/ImageObject" />
-<!--    <rdfs:subClassOf><owl:Class rdf:about="http://xmlns.com/wordnet/1.6/Document"/></rdfs:subClassOf> -->
-    <rdfs:subClassOf><owl:Class rdf:about="http://xmlns.com/foaf/0.1/Document"/></rdfs:subClassOf>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdfs:Class>
-
-  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/PersonalProfileDocument" rdfs:label="PersonalProfileDocument" rdfs:comment="A personal profile RDF document." vs:term_status="testing">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
-    <rdfs:subClassOf rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-  </rdfs:Class>
-	
-  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/OnlineAccount" vs:term_status="testing" rdfs:label="Online Account" rdfs:comment="An online account.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-    <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing" rdfs:label="Thing"/>
-  </rdfs:Class>
-  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/OnlineGamingAccount" vs:term_status="unstable" rdfs:label="Online Gaming Account" rdfs:comment="An online gaming account.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
-    <rdfs:subClassOf rdf:resource="http://xmlns.com/foaf/0.1/OnlineAccount"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdfs:Class>
-  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/OnlineEcommerceAccount" vs:term_status="unstable" rdfs:label="Online E-commerce Account" rdfs:comment="An online e-commerce account.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
-    <rdfs:subClassOf rdf:resource="http://xmlns.com/foaf/0.1/OnlineAccount"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdfs:Class>
-  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/OnlineChatAccount" vs:term_status="unstable" rdfs:label="Online Chat Account" rdfs:comment="An online chat account.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
-    <rdfs:subClassOf rdf:resource="http://xmlns.com/foaf/0.1/OnlineAccount"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdfs:Class>
-<!-- FOAF properties (ie. relationships). -->
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/mbox" vs:term_status="stable" rdfs:label="personal mailbox" rdfs:comment="A 
-personal mailbox, ie. an Internet mailbox associated with exactly one owner, the first owner of this mailbox. This is a 'static inverse functional property', in that  there is (across time and change) at most one individual that ever has any particular value for foaf:mbox.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/mbox_sha1sum" vs:term_status="testing" rdfs:label="sha1sum of a personal mailbox URI name" rdfs:comment="The sha1sum of the URI of an Internet mailbox associated with exactly one owner, the  first owner of the mailbox.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
-
-<!--
-put it back in again 2006-01-29 - see 
-http://chatlogs.planetrdf.com/swig/2006-01-29.html#T21-12-35
-I have mailed rdfweb-dev@vapours.rdfweb.org for discussion.
-Libby
-
-Commenting out as a kindness to OWL DL users. The semantics didn't quite cover
-our usage anyway, since (a) we want static-across-time, which is so beyond OWL as 
-to be from another planet (b) we want identity reasoning invariant across xml:lang 
-tagging. FOAF code will know what to do. OWL folks note, this assertion might return. 
-
-danbri
--->
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/gender" vs:term_status="testing" 
-rdfs:label="gender" 
-rdfs:comment="The gender of this Agent (typically but not necessarily 'male' or 'female').">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-    <!-- whatever one's gender is, and we are liberal in leaving room for more options 
-    than 'male' and 'female', we model this so that an agent has only one gender. -->
-  </rdf:Property>
-
-
-
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/geekcode" vs:term_status="archaic" rdfs:label="geekcode" rdfs:comment="A textual geekcode for this person, see http://www.geekcode.com/geek.html">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/dnaChecksum" vs:term_status="archaic" rdfs:label="DNA checksum" rdfs:comment="A checksum for the DNA of some thing. Joke.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/sha1" vs:term_status="unstable" rdfs:label="sha1sum (hex)" rdfs:comment="A sha1sum hash, in hex.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-<!-- rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty" -->
-<!-- IFP under discussion -->
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/based_near" vs:term_status="testing" rdfs:label="based near" rdfs:comment="A location that something is based near, for some broadly human notion of near.">
-<!-- see http://esw.w3.org/topic/GeoOnion for extension  ideas -->
-<!-- this was ranged as Agent... hmm -->
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-<!-- FOAF naming properties -->
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/title" vs:term_status="testing" rdfs:label="title" rdfs:comment="Title (Mr, Mrs, Ms, Dr. etc)">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/nick" vs:term_status="testing" rdfs:label="nickname" rdfs:comment="A short informal nickname characterising an agent (includes login identifiers, IRC and other chat nicknames).">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-<!-- ......................... chat IDs ........................... -->
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/jabberID" vs:term_status="testing" rdfs:label="jabber ID" rdfs:comment="A jabber ID for something.">
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-<!--
-    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/nick"/>
-...different to the other IM IDs, as Jabber has wider usage, so 
-we don't want the implied rdfs:domain here.
-
--->
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-    <!-- there is a case for using resources/URIs here, ... -->
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/aimChatID" vs:term_status="testing" rdfs:label="AIM chat ID" rdfs:comment="An AIM chat ID">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/nick"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
-  </rdf:Property>
-
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/skypeID" vs:term_status="testing" rdfs:label="Skype ID" rdfs:comment="A Skype ID">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/nick"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-    <!-- todo: OWL2 easy key definition -->
-  </rdf:Property>
-
-<!-- http://www.stud.uni-karlsruhe.de/~uck4/ICQ/Packet-112.html -->
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/icqChatID" vs:term_status="testing" rdfs:label="ICQ chat ID" rdfs:comment="An ICQ chat ID">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/nick"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/yahooChatID" vs:term_status="testing" rdfs:label="Yahoo chat ID" rdfs:comment="A Yahoo chat ID">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/nick"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/msnChatID" vs:term_status="testing" rdfs:label="MSN chat ID" rdfs:comment="An MSN chat ID">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/nick"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
-  </rdf:Property>
-<!-- ....................................................... -->
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/name" vs:term_status="testing" rdfs:label="name" rdfs:comment="A name for some thing.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-    <rdfs:subPropertyOf rdf:resource="http://www.w3.org/2000/01/rdf-schema#label"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/firstName" vs:term_status="testing" rdfs:label="firstName" rdfs:comment="The first name of a person.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/lastName" vs:term_status="testing" rdfs:label="lastName" rdfs:comment="The last name of a person.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/givenName" vs:term_status="testing" rdfs:label="Given name" rdfs:comment="The given name of some person.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/givenname" vs:term_status="archaic" rdfs:label="Given name" rdfs:comment="The given name of some person.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/surname" vs:term_status="archaic" rdfs:label="Surname" rdfs:comment="The surname of some person.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/family_name" vs:term_status="archaic" rdfs:label="family_name" rdfs:comment="The family name of some person.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/familyName" vs:term_status="testing" rdfs:label="familyName" rdfs:comment="The family name of some person.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-<!-- end of naming properties. See http://rdfweb.org/issues/show_bug.cgi?id=7
-	   for open issue / re-design discussions.
-	-->
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/phone" vs:term_status="testing" rdfs:label="phone" rdfs:comment="A phone,  specified using fully qualified tel: URI scheme (refs: http://www.w3.org/Addressing/schemes.html#tel).">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/homepage" vs:term_status="stable" rdfs:label="homepage" rdfs:comment="A homepage for some thing.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/page"/>
-    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/isPrimaryTopicOf"/>
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
-    <!--  previously: rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent" -->
-    <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/weblog" vs:term_status="stable" rdfs:label="weblog" rdfs:comment="A weblog of some thing (whether person, group, company etc.).">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/page"/>
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/openid" vs:term_status="testing" rdfs:label="openid" rdfs:comment="An OpenID for an Agent.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/isPrimaryTopicOf"/>
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/tipjar" vs:term_status="testing" rdfs:label="tipjar" rdfs:comment="A tipjar document for this agent, describing means for payment and reward.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/page"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/plan" vs:term_status="testing" rdfs:label="plan" rdfs:comment="A .plan comment, in the tradition of finger and '.plan' files.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/made" vs:term_status="stable" rdfs:label="made" rdfs:comment="Something that was made by this agent.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-    <owl:inverseOf rdf:resource="http://xmlns.com/foaf/0.1/maker"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/maker"  vs:term_status="stable" rdfs:label="maker" rdfs:comment="An agent that 
-made this thing.">
-    <owl:equivalentProperty rdf:resource="http://purl.org/dc/terms/creator"/>
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-    <owl:inverseOf rdf:resource="http://xmlns.com/foaf/0.1/made"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/img" vs:term_status="testing" rdfs:label="image" rdfs:comment="An image that can be used to represent some thing (ie. those depictions which are particularly representative of something, eg. one's photo on a homepage).">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Image"/>
-    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/depiction"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/depiction" vs:term_status="testing" rdfs:label="depiction" rdfs:comment="A depiction of some thing.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Image"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-    <owl:inverseOf rdf:resource="http://xmlns.com/foaf/0.1/depicts"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/depicts" vs:term_status="testing" rdfs:label="depicts" rdfs:comment="A thing depicted in this representation.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Image"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-    <owl:inverseOf rdf:resource="http://xmlns.com/foaf/0.1/depiction"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/thumbnail" vs:term_status="testing" rdfs:label="thumbnail" rdfs:comment="A derived thumbnail image.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Image"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Image"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/myersBriggs" vs:term_status="testing" rdfs:label="myersBriggs" rdfs:comment="A Myers Briggs (MBTI) personality classification.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/workplaceHomepage" vs:term_status="testing" rdfs:label="workplace homepage" rdfs:comment="A workplace homepage of some person; the homepage of an organization they work for.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/workInfoHomepage" vs:term_status="testing" rdfs:label="work info homepage" rdfs:comment="A work info homepage of some person; a page about their work for some organization.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/schoolHomepage" vs:term_status="testing" rdfs:label="schoolHomepage" rdfs:comment="A homepage of a school attended by the person.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/knows" vs:term_status="stable" rdfs:label="knows" rdfs:comment="A person known by this person (indicating some level of reciprocated interaction between the parties).">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/interest" vs:term_status="testing" rdfs:label="interest" rdfs:comment="A page about a topic of interest to this person.">
-<!-- we should distinguish the page from the topic more carefully. danbri 2002-07-08 -->
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/topic_interest" vs:term_status="testing" rdfs:label="topic_interest" rdfs:comment="A thing of interest to this person.">
-<!-- we should distinguish the page from the topic more carefully. danbri 2002-07-08 -->
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/publications" vs:term_status="testing" rdfs:label="publications" rdfs:comment="A link to the publications of this person.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-<!-- by libby for ILRT mappings 2001-10-31 -->
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/currentProject" vs:term_status="testing" rdfs:label="current project" rdfs:comment="A current project this person works on.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/pastProject" vs:term_status="testing" rdfs:label="past project" rdfs:comment="A project this person has previously worked on.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/fundedBy" vs:term_status="archaic" rdfs:label="funded by" rdfs:comment="An organization funding a project or person.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/logo" vs:term_status="testing" rdfs:label="logo" rdfs:comment="A logo representing some thing.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/topic" vs:term_status="testing" rdfs:label="topic" rdfs:comment="A topic of some page or document.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <owl:inverseOf rdf:resource="http://xmlns.com/foaf/0.1/page"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/primaryTopic"
- vs:term_status="stable" rdfs:label="primary topic" rdfs:comment="The primary topic of some page or document.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <owl:inverseOf rdf:resource="http://xmlns.com/foaf/0.1/isPrimaryTopicOf"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/focus"  vs:term_status="testing" rdfs:label="focus" rdfs:comment="The underlying or 'focal' entity associated with some SKOS-described concept.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://www.w3.org/2004/02/skos/core#Concept" rdfs:label="Concept"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/isPrimaryTopicOf"
- vs:term_status="stable" rdfs:label="is primary topic of" rdfs:comment="A document that this thing is the primary topic of.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
-    <rdfs:subPropertyOf rdf:resource="http://xmlns.com/foaf/0.1/page"/>
-    <owl:inverseOf rdf:resource="http://xmlns.com/foaf/0.1/primaryTopic"/>
-    <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/page" vs:term_status="stable" rdfs:label="page" rdfs:comment="A page or document about this thing.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-    <owl:inverseOf rdf:resource="http://xmlns.com/foaf/0.1/topic"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/theme" vs:term_status="archaic" rdfs:label="theme" rdfs:comment="A theme.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/account" vs:term_status="testing" rdfs:label="account" rdfs:comment="Indicates an account held by this agent.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/OnlineAccount"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/holdsAccount" vs:term_status="archaic" rdfs:label="account" rdfs:comment="Indicates an account held by this agent.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/OnlineAccount"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/accountServiceHomepage" vs:term_status="testing" rdfs:label="account service homepage" rdfs:comment="Indicates a homepage of the service provide for this online account.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/OnlineAccount"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/accountName" vs:term_status="testing" rdfs:label="account name" rdfs:comment="Indicates the name (identifier) associated with this online account.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/OnlineAccount"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/member" vs:term_status="stable" rdfs:label="member" rdfs:comment="Indicates a member of a Group">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Group"/>
-    <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/membershipClass" vs:term_status="unstable" rdfs:label="membershipClass" rdfs:comment="Indicates the class of individuals that are a member of a Group">
-    <!-- maybe we should just use SPARQL or Rules, instead of trying to use OWL here -->
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#AnnotationProperty"/>
-    <!-- Added to keep OWL DL from bluescreening. DON'T CROSS THE STREAMERS, etc. -->
-    <!-- This may get dropped if it means non-DL tools don't expose it as a real property.
-	 Should be fine though; I think only OWL stuff cares about AnnotationProperty.
-	 Dan									 -->
-
-<!--    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Group"/> prose only for now...-->
-<!--    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/> -->
-<!--    <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Class"/> -->
-
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-
-
-  <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/birthday" vs:term_status="unstable" rdfs:label="birthday" rdfs:comment="The birthday of this Agent, represented in mm-dd string form, eg. '12-31'.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-    <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-    <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-  </rdf:Property>
-
-   <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/age" vs:term_status="unstable" rdfs:label="age" rdfs:comment="The age in years of some agent.">
-    <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
-     <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-     <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-     <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-     <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-   </rdf:Property>
-
-   <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/status" vs:term_status="unstable" rdfs:label="status" rdfs:comment="A string expressing what the user is happy for the general public (normally) to know about their current activity.">
-     <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
-     <rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-     <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Literal"/>
-     <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
-   </rdf:Property>
-
-</rdf:RDF>
-
diff --git a/taverna-robundle/src/main/resources/ontologies/pav.rdf b/taverna-robundle/src/main/resources/ontologies/pav.rdf
deleted file mode 100644
index 9493697..0000000
--- a/taverna-robundle/src/main/resources/ontologies/pav.rdf
+++ /dev/null
@@ -1,568 +0,0 @@
-<?xml version="1.0"?>
-<!--
-© Copyright 2008-2014 Massachusetts General Hospital; Harvard Medical School;
-Balboa Systems; University of Manchester
-Copyright 2015 Apache Software Foundation
-
-Modified for Apache Taverna to remove xml-stylesheet.
-For original, see http://purl.org/pav/
-
-Licensed under the Apache License, Version 2.0 (the "License"); you may not use
-this file except in compliance with the License. You may obtain a copy of the
-License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software distributed
-under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-CONDITIONS OF ANY KIND, either express or implied. See the License for the
-specific language governing permissions and limitations under the License.  
--->
-<!DOCTYPE rdf:RDF [
-    <!ENTITY pav "http://purl.org/pav/" >
-    <!ENTITY dct "http://purl.org/dc/terms/" >
-    <!ENTITY prov "http://www.w3.org/ns/prov#" >
-    <!ENTITY foaf "http://xmlns.com/foaf/0.1/" >
-    <!ENTITY owl "http://www.w3.org/2002/07/owl#" >
-    <!ENTITY dc "http://purl.org/dc/elements/1.1/" >
-    <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
-    <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
-    <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
-    <!ENTITY pav1 "http://swan.mindinformatics.org/ontologies/1.2/pav/" >
-]>
-
-
-<rdf:RDF xmlns="&pav;"
-     xml:base="&pav;"
-     xmlns:dc="http://purl.org/dc/elements/1.1/"
-     xmlns:prov="http://www.w3.org/ns/prov#"
-     xmlns:foaf="http://xmlns.com/foaf/0.1/"
-     xmlns:pav1="http://swan.mindinformatics.org/ontologies/1.2/pav/"
-     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-     xmlns:pav="http://purl.org/pav/"
-     xmlns:dct="http://purl.org/dc/terms/"
-     xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
-     xmlns:owl="http://www.w3.org/2002/07/owl#"
-     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
-    <owl:Ontology rdf:about="http://purl.org/pav/">
-        <prov:has_provenance rdf:resource="provenance.ttl" />
-        <rdfs:label xml:lang="en">Provenance, Authoring and Versioning (PAV)</rdfs:label>
-        <owl:versionInfo rdf:datatype="&xsd;string">2.1.1</owl:versionInfo>
-        <dct:modified rdf:datatype="&xsd;dateTime">2013-03-26T14:49:00Z</dct:modified>
-        <dc:contributor rdf:datatype="&xsd;string">Marco Ocana</dc:contributor>
-        <dc:creator rdf:datatype="&xsd;string">Paolo Ciccarese</dc:creator>
-        <dc:contributor rdf:datatype="&xsd;string">Stian Soiland-Reyes</dc:contributor>
-        <dct:format rdf:datatype="&xsd;string">application/rdf+xml</dct:format>
-        <dct:language rdf:datatype="&xsd;language">en</dct:language>
-        <dct:issued rdf:datatype="&xsd;dateTime">2013-03-27T16:03:24Z</dct:issued>
-        <dct:title xml:lang="en">PAV - Provenance, Authoring and Versioning</dct:title>
-        <rdfs:comment xml:lang="en">PAV is a lightweight ontology for tracking Provenance, Authoring and Versioning. PAV specializes the W3C provenance ontology PROV-O in order to describe authorship, curation and digital creation of online resources.
-
-This ontology describes the defined PAV properties and their usage. Note that PAV does not define any explicit classes or domain/ranges, as every property is meant to be used directly on the described online resource.</rdfs:comment>
-        <dc:description xml:lang="en">PAV supplies terms for distinguishing between the different roles of the agents contributing content in current web based systems: contributors, authors, curators and digital artifact creators. The ontology also provides terms for tracking provenance of digital entities that are published on the web and then accessed, transformed and consumed. In order to support broader interoperability, PAV specializes the general purpose W3C PROV provenance model (PROV-O).
-
-PAV distinguishes between the data related to the digital artifact - named Provenance - and those related to the actual knowledge creation and therefore to the intellectual property aspects – named Authoring. The Versioning axis describes the evolution of digital entities in time. 
-
-Using PAV, descriptions can define the Authors that originate or gave existence to the work that is expressed in the digital resource (pav:authoredBy); curators (pav:curatedBy) who are content specialists responsible for shaping the expression in an appropriate format, and contributors (super-property pav:contributedBy) that provided some help in conceiving the resource or in the expressed knowledge creation/extraction.
-
-These provenance aspects can be detailed with dates using pav:curatedOn, pav:authoredOn, etc. Further details about the creation activities, such as different authors contributing specific parts of the resource at different dates are out of scope for PAV and should be defined using vocabularies like PROV-O and additional intermediate entities to describe the different states. 
-
-For resources based on other resources, PAV allows specification of direct retrieval (pav:retrievedFrom), import through transformations (pav:importedFrom) and sources that were merely consulted (pav:sourceAccessedAt). These aspects can also define the agents responsible using pav:retrievedBy, pav:importedBy and pav:sourceAccessedBy. Version information can be specified using pav:previousVersion and pav:version. 
-
-The creation of the digital representation, for instance an RDF graph, can in many cases be different from the authorship of the knowledge, and in PAV this digital creation is specified using pav:createdBy, pav:createdWith and pav:createdOn. 
-
-PAV 2.1 updates PAV 2.0 with PROV-O specializations and more detailed descriptions of the defined terms. Note that PROV-O is not imported directly by this ontology as PAV can be used independent of PROV. PAV 2 is based on PAV 1.2 but in a new namespace ( http://purl.org/pav/ ). Terms compatible with 1.2 are indicated in this ontology using owl:equivalentProperty. 
-
-The ontology IRI http://purl.org/pav/ always resolve to the latest version of PAV 2. Particular versionIRIs such as http://purl.org/pav/2.1 can be used by clients to force imports of a particular version - note however that all terms are defined directly in the http://purl.org/pav/ namespace.
-
-The goal of PAV is to provide a lightweight, straight forward way to give the essential information about authorship, provenance and versioning, and therefore these properties are described directly on the published resource. As such, PAV does not define any classes or restrict domain/ranges, as all properties are applicable to any online resource.</dc:description>
-        <dc:description rdf:resource="http://pav-ontology.googlecode.com/svn/branches/2.1/images/pav-overview.svg" />
-        <rdfs:seeAlso rdf:resource="http://code.google.com/p/pav-ontology/"/>
-        <rdfs:seeAlso rdf:resource="http://pav-ontology.googlecode.com/svn/trunk/1.2/pav.owl"/>
-        <!--
-        <owl:imports rdf:resource="http://pav-ontology.googlecode.com/svn/trunk/1.2/pav.owl"/>
-        <owl:imports rdf:resource="http://www.w3.org/ns/prov#"/>
-        -->
-        <owl:versionIRI rdf:resource="&pav;2.1"/>
-        <rdfs:seeAlso rdf:resource="&pav;doc"/>
-        <owl:backwardCompatibleWith rdf:resource="&pav;2.0/"/>
-        <owl:priorVersion rdf:resource="&pav;2.0/"/>
-        <owl:backwardCompatibleWith rdf:resource="&pav;authoring/2.0/"/>
-        <owl:backwardCompatibleWith rdf:resource="&pav;provenance/2.0/"/>
-        <owl:backwardCompatibleWith rdf:resource="&pav;versioning/2.0/"/>
-        <dct:contributor rdf:resource="http://soiland-reyes.com/stian/#me"/>
-        <dct:publisher rdf:resource="http://swan.mindinformatics.org/"/>
-        <owl:incompatibleWith rdf:resource="http://swan.mindinformatics.org/ontologies/1.2/pav.owl"/>
-        <dct:license rdf:resource="http://www.apache.org/licenses/LICENSE-2.0"/>
-        <dct:creator rdf:resource="http://www.hcklab.org/foaf.rdf#me"/>
-        <dct:creator rdf:resource="http://www.paolociccarese.info/"/>
-        <rdfs:seeAlso rdf:resource="http://www.w3.org/ns/prov#"/>
-    </owl:Ontology>
-    
-
-
-    
-
-
-    <!-- 
-    ///////////////////////////////////////////////////////////////////////////////////////
-    //
-    // Object Properties
-    //
-    ///////////////////////////////////////////////////////////////////////////////////////
-     -->
-
-    
-
-
-    <!-- http://purl.org/pav/authoredBy -->
-
-    <owl:ObjectProperty rdf:about="&pav;authoredBy">
-        <rdfs:label xml:lang="en">Authored by</rdfs:label>
-        <rdfs:comment xml:lang="en">An agent that originated or gave existence to the work that is expressed by the digital resource.
-
-The author of the content of a resource may be different from the creator of the resource representation (although they are often the same). See pav:createdBy for a discussion.
-
-The date of authoring can be expressed using pav:authoredOn - note however in the case of multiple authors that there is no relationship in PAV identifying which agent contributed when or what. If capturing such lineage is desired, it should be additionally expressed using activity-centric provenance vocabularies, for instance with prov:wasGeneratedBy and prov:qualifiedAssocation.</rdfs:comment>
-        <rdfs:seeAlso rdf:resource="&pav;authoredOn"/>
-        <rdfs:subPropertyOf rdf:resource="&pav;contributedBy"/>
-        <rdfs:seeAlso rdf:resource="&pav;createdBy"/>
-        <owl:equivalentProperty rdf:resource="&pav1;authoredBy"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://purl.org/pav/contributedBy -->
-
-    <owl:ObjectProperty rdf:about="&pav;contributedBy">
-        <rdfs:label xml:lang="en">Contributed by</rdfs:label>
-        <rdfs:comment xml:lang="en">The resource was contributed to by the given agent.
-
-The agent provided any sort of help in conceiving the work that is expressed by the digital artifact. Superproperty of pav:authoredBy and pav:curatedBy.
-
-Note that as pav:contributedBy identifies only agents that contributed to the work, knowledge or intellectual property, and not agents that made the digital artifact or representation (pav:createdBy), thus this property can be considered more precise than dct:contributor. See pav:createdBy for a discussion.
-
-The date of contribution can be expressed using pav:contributedOn - note however in the case of multiple contributors that there is no relationship in PAV identifying which agent contributed when or what. If capturing such lineage is desired, it should be additionally expressed using activity-centric provenance vocabularies, for instance with prov:wasGeneratedBy and prov:qualifiedAssocation.</rdfs:comment>
-        <rdfs:seeAlso rdf:resource="&pav;contributedOn"/>
-        <rdfs:seeAlso rdf:resource="&pav;createdBy"/>
-        <owl:equivalentProperty rdf:resource="&pav1;contributedBy"/>
-        <rdfs:subPropertyOf rdf:resource="&prov;wasAttributedTo"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://purl.org/pav/createdAt -->
-
-    <owl:ObjectProperty rdf:about="&pav;createdAt">
-        <rdfs:label xml:lang="en">Created at</rdfs:label>
-        <rdfs:comment xml:lang="en">The geo-location of the agents when creating the resource (pav:createdBy). For instance  a photographer takes a picture of the Eiffel Tower while standing in front of it.</rdfs:comment>
-        <rdfs:seeAlso rdf:resource="&pav;createdBy"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://purl.org/pav/createdBy -->
-
-    <owl:ObjectProperty rdf:about="&pav;createdBy">
-        <rdfs:label xml:lang="en">Created by</rdfs:label>
-        <rdfs:comment xml:lang="en">An agent primary responsible for making the digital artifact or resource representation.
-
-This property is distinct from forming the content, which is indicated with pav:contributedBy or its subproperties; pav:authoredBy, which identifies who authored the knowledge expressed by this resource; and pav:curatedBy, which identifies who curated the knowledge into its current form. 
-
-pav:createdBy is more specific than dct:createdBy - which might or might not be interpreted to cover this creator.
-
-For instance, the author wrote &apos;this species has bigger wings than normal&apos; in his log book. The curator, going through the log book and identifying important knowledge, formalizes this as &apos;locus perculus has wingspan &gt; 0.5m&apos;. The creator enters this knowledge as a digital resource in the knowledge system, thus creating the digital artifact (say as JSON, RDF, XML or HTML).
-
-A different example is a news article. pav:authoredBy indicates the journalist who wrote the article. pav:contributedBy can indicate the artist who added an illustration. pav:curatedBy can indicate the editor who made the article conform to the news paper&apos;s style. pav:createdBy can indicate who put the article on the web site.
-
-The software tool used by the creator to make the digital resource (say Protege, Wordpress or OpenOffice) can be indicated with pav:createdWith.
-
-The date the digital resource was created can be indicated with pav:createdOn.
-
-The location the agent was at when creating the digital resource can be made using pav:createdAt.</rdfs:comment>
-        <rdfs:seeAlso rdf:resource="&pav;authoredBy"/>
-        <rdfs:seeAlso rdf:resource="&pav;createdAt"/>
-        <rdfs:seeAlso rdf:resource="&pav;createdOn"/>
-        <rdfs:seeAlso rdf:resource="&pav;curatedBy"/>
-        <owl:equivalentProperty rdf:resource="&pav1;createdBy"/>
-        <rdfs:subPropertyOf rdf:resource="&prov;wasAttributedTo"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://purl.org/pav/createdWith -->
-
-    <owl:ObjectProperty rdf:about="&pav;createdWith">
-        <rdfs:label xml:lang="en">Created with</rdfs:label>
-        <rdfs:comment xml:lang="en">The software/tool used by the creator (pav:createdBy) when making the digital resource, for instance a word processor or an annotation tool. A more independent software agent that creates the resource without direct interaction by a human creator should instead should instead by indicated using pav:createdBy.
-</rdfs:comment>
-        <rdfs:seeAlso rdf:resource="&pav;createdBy"/>
-        <rdfs:subPropertyOf rdf:resource="&prov;wasAttributedTo"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://purl.org/pav/curatedBy -->
-
-    <owl:ObjectProperty rdf:about="&pav;curatedBy">
-        <rdfs:label xml:lang="en">Curated by</rdfs:label>
-        <rdfs:comment xml:lang="en">An agent specialist responsible for shaping the expression in an appropriate format. Often the primary agent responsible for ensuring the quality of the representation.
-
-The curator may be different from the creator of the author (pav:authoredBy) and the creator of the digital resource (pav:createdBy).  
-
-The date of curating can be expressed using pav:curatedOn - note however in the case of multiple curators that there is no relationship in PAV identifying which agent contributed when or what. If capturing such lineage is desired, it should be additionally expressed using activity-centric provenance vocabularies, for instance with prov:wasGeneratedBy and prov:qualifiedAssocation.</rdfs:comment>
-        <rdfs:subPropertyOf rdf:resource="&pav;contributedBy"/>
-        <rdfs:seeAlso rdf:resource="&pav;createdBy"/>
-        <rdfs:seeAlso rdf:resource="&pav;curatedOn"/>
-        <owl:equivalentProperty rdf:resource="&pav1;curatedBy"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://purl.org/pav/curates -->
-
-    <owl:ObjectProperty rdf:about="&pav;curates">
-        <rdfs:label xml:lang="en">Curates</rdfs:label>
-        <owl:deprecated rdf:datatype="&xsd;boolean">true</owl:deprecated>
-        <rdfs:comment xml:lang="en">Provided for backwards compatibility with PAV 1.2 only. Use instead the inverse pav:curatedBy.</rdfs:comment>
-        <owl:inverseOf rdf:resource="&pav;curatedBy"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://purl.org/pav/derivedFrom -->
-
-    <owl:ObjectProperty rdf:about="&pav;derivedFrom">
-        <rdfs:label xml:lang="en">Derived from</rdfs:label>
-        <rdfs:comment xml:lang="en">Derived from a different resource. Derivation conserns itself with derived knowledge. If this resource has the same content as the other resource, but has simply been transcribed to fit a different model (like XML -&gt; RDF or SQL -&gt; CVS), use pav:importedFrom. If a resource was simply retrieved, use pav:retrievedFrom. If the content has however been further refined or modified, pav:derivedFrom should be used.
-
-Details about who performed the derivation may be indicated with pav:contributedBy and its subproperties.
-</rdfs:comment>
-        <rdfs:seeAlso rdf:resource="&pav;importedFrom"/>
-        <rdfs:seeAlso rdf:resource="&pav;previousVersion"/>
-        <rdfs:subPropertyOf rdf:resource="&prov;wasDerivedFrom"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://purl.org/pav/importedBy -->
-
-    <owl:ObjectProperty rdf:about="&pav;importedBy">
-        <rdfs:label xml:lang="en">Imported by</rdfs:label>
-        <rdfs:comment xml:lang="en">An entity responsible for importing the data. 
-
-The importer is usually a software entity which has done the transcription from the original source. 
-Note that pav:importedBy may overlap with pav:createdWith.
-
-The source for the import should be given with pav:importedFrom. The time of the import should be given with pav:importedOn.
-
-See pav:importedFrom for a discussion of import vs. retrieve vs. derived.</rdfs:comment>
-        <rdfs:seeAlso rdf:resource="&pav;importedFrom"/>
-        <owl:equivalentProperty rdf:resource="&pav1;importedBy"/>
-        <rdfs:subPropertyOf rdf:resource="&prov;wasAttributedTo"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://purl.org/pav/importedFrom -->
-
-    <owl:ObjectProperty rdf:about="&pav;importedFrom">
-        <rdfs:label xml:lang="en">Imported from</rdfs:label>
-        <rdfs:comment xml:lang="en">The original source of imported information. 
-
-Import means that the content has been preserved, but transcribed somehow, for instance to fit a different representation model. Examples of import are when the original was JSON and the current resource is RDF, or where the original was an document scan, and this resource is the plain text found through OCR. 
-
-The imported resource does not have to be complete, but should be consistent with the knowledge conveyed by the original resource.
-
-If additional knowledge has been contributed, pav:derivedFrom would be more appropriate.
-
-If the resource has been copied verbatim from the original representation (e.g. downloaded), use pav:retrievedFrom.
-
-To indicate which agent(s) performed the import, use pav:importedBy. Use pav:importedOn to indicate when it happened. </rdfs:comment>
-        <rdfs:seeAlso rdf:resource="&pav;derivedFrom"/>
-        <rdfs:seeAlso rdf:resource="&pav;importedBy"/>
-        <rdfs:seeAlso rdf:resource="&pav;importedOn"/>
-        <rdfs:seeAlso rdf:resource="&pav;retrievedFrom"/>
-        <owl:equivalentProperty rdf:resource="&pav1;importedFromSource"/>
-        <rdfs:subPropertyOf rdf:resource="&prov;wasDerivedFrom"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://purl.org/pav/previousVersion -->
-
-    <owl:ObjectProperty rdf:about="&pav;previousVersion">
-        <rdfs:label xml:lang="en">Previous version</rdfs:label>
-        <rdfs:comment xml:lang="en">The previous version of a resource in a lineage. For instance a news article updated to correct factual information would point to the previous version of the article with pav:previousVersion. If however the content has significantly changed so that the two resources no longer share lineage (say a new news article that talks about the same facts), they should be related using pav:derivedFrom.
-
-A version number of this resource can be provided using the data property pav:version.</rdfs:comment>
-        <rdfs:seeAlso rdf:resource="&pav;derivedFrom"/>
-        <rdfs:seeAlso rdf:resource="&pav;version"/>
-        <owl:equivalentProperty rdf:resource="&pav1;previousVersion"/>
-        <rdfs:subPropertyOf rdf:resource="&prov;wasRevisionOf"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://purl.org/pav/providedBy -->
-
-    <owl:ObjectProperty rdf:about="&pav;providedBy">
-        <rdfs:label xml:lang="en">Provided by</rdfs:label>
-        <rdfs:comment xml:lang="en">The original provider of the encoded information (e.g. PubMed, UniProt, Science Commons).
-
-The provider might not coincide with the dct:publisher, which would describe the current publisher of the resource. For instance if the resource was retrieved, imported or derived from a source, that source was published by the original provider. pav:providedBy provides a shortcut to indicate the original provider on the new resource.  </rdfs:comment>
-        <rdfs:seeAlso rdf:resource="&dct;publisher"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://purl.org/pav/retrievedBy -->
-
-    <owl:ObjectProperty rdf:about="&pav;retrievedBy">
-        <rdfs:label xml:lang="en">Retrieved by</rdfs:label>
-        <rdfs:comment xml:lang="en">An entity responsible for retrieving the data from an external source. 
-
-The retrieving agent is usually a software entity, which has done the retrieval from the original source without performing any transcription.
-
-The source that was retrieved should be given with pav:retrievedFrom. The time of the retrieval should be indicated using pav:retrievedOn.
-
-See pav:importedFrom for a discussion of import vs. retrieve vs. derived.</rdfs:comment>
-        <rdfs:seeAlso rdf:resource="&pav;importedFrom"/>
-        <rdfs:subPropertyOf rdf:resource="&prov;wasAttributedTo"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://purl.org/pav/retrievedFrom -->
-
-    <owl:ObjectProperty rdf:about="&pav;retrievedFrom">
-        <rdfs:label xml:lang="en">Retrieved from</rdfs:label>
-        <rdfs:comment xml:lang="en">The URI where a resource has been retrieved from.
-
-Retrieval indicates that this resource has the same representation as the original resource. If the resource has been somewhat transformed, use pav:importedFrom instead.
-
-The time of the retrieval should be indicated using pav:retrievedOn. The agent may be indicated with pav:retrievedBy.</rdfs:comment>
-        <rdfs:seeAlso rdf:resource="&pav;retrievedBy"/>
-        <rdfs:seeAlso rdf:resource="&pav;retrievedOn"/>
-        <rdfs:subPropertyOf rdf:resource="&prov;wasDerivedFrom"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://purl.org/pav/sourceAccessedAt -->
-
-    <owl:ObjectProperty rdf:about="&pav;sourceAccessedAt">
-        <rdfs:label xml:lang="en">Source accessed at</rdfs:label>
-        <rdfs:comment xml:lang="en">The resource is related to a given source which was accessed or consulted (but not retrieved, imported or derived from). This access can be detailed with pav:sourceAccessedBy and pav:sourceAccessedOn.
-
-For instance, a curator (pav:curatedBy) might have consulted figures in a published paper to confirm that a dataset was correctly pav:importedFrom the paper&apos;s supplementary CSV file.</rdfs:comment>
-        <rdfs:seeAlso rdf:resource="&pav;importedFrom"/>
-        <rdfs:seeAlso rdf:resource="&pav;retrievedFrom"/>
-        <rdfs:seeAlso rdf:resource="&pav;sourceAccessedBy"/>
-        <rdfs:seeAlso rdf:resource="&pav;sourceAccessedOn"/>
-        <rdfs:seeAlso rdf:resource="&pav;sourceLastAccessedOn"/>
-        <rdfs:subPropertyOf rdf:resource="&prov;wasInfluencedBy"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://purl.org/pav/sourceAccessedBy -->
-
-    <owl:ObjectProperty rdf:about="&pav;sourceAccessedBy">
-        <rdfs:label xml:lang="en">Source accessed by</rdfs:label>
-        <rdfs:comment xml:lang="en">The resource is related to a source which was accessed or consulted 
-by the given agent. The source(s) should be specified using pav:sourceAccessedAt, and the time with pav:sourceAccessedOn.
-
-For instance, the given agent could be a curator (also pav:curatedBy) which consulted figures in a published paper to confirm that a dataset was correctly pav:importedFrom the paper&apos;s supplementary CSV file.</rdfs:comment>
-        <rdfs:seeAlso rdf:resource="&pav;sourceAccessedAt"/>
-    </owl:ObjectProperty>
-    
-
-
-
-
-    <!-- 
-    ///////////////////////////////////////////////////////////////////////////////////////
-    //
-    // Data properties
-    //
-    ///////////////////////////////////////////////////////////////////////////////////////
-     -->
-
-    
-
-
-    <!-- http://purl.org/pav/authoredOn -->
-
-    <owl:DatatypeProperty rdf:about="&pav;authoredOn">
-        <rdfs:label xml:lang="en">Authored on</rdfs:label>
-        <rdfs:comment xml:lang="en">The date this resource was authored.
-
-pav:authoredBy gives the authoring agent.
-
-Note that pav:authoredOn is different from pav:createdOn, although they are often the same. See pav:createdBy for a discussion.</rdfs:comment>
-        <rdfs:seeAlso rdf:resource="&pav;authoredBy"/>
-        <rdfs:subPropertyOf rdf:resource="&pav;contributedOn"/>
-        <rdfs:seeAlso rdf:resource="&pav;createdBy"/>
-        <rdfs:seeAlso rdf:resource="&pav;createdOn"/>
-    </owl:DatatypeProperty>
-    
-
-
-    <!-- http://purl.org/pav/contributedOn -->
-
-    <owl:DatatypeProperty rdf:about="&pav;contributedOn">
-        <rdfs:label xml:lang="en">Contributed on</rdfs:label>
-        <rdfs:comment xml:lang="en">The date this resource was contributed to.
-
-pav:contributedBy provides the agent(s) that contributed.</rdfs:comment>
-        <rdfs:seeAlso rdf:resource="&pav;contributedBy"/>
-        <rdfs:range rdf:resource="&xsd;dateTime"/>
-    </owl:DatatypeProperty>
-    
-
-
-    <!-- http://purl.org/pav/createdOn -->
-
-    <owl:DatatypeProperty rdf:about="&pav;createdOn">
-        <rdfs:label xml:lang="en">Created On</rdfs:label>
-        <rdfs:comment xml:lang="en">The date of creation of the resource.
-
-pav:createdBy provides the agent(s) that created the resource.
-</rdfs:comment>
-        <rdfs:seeAlso rdf:resource="&pav;createdBy"/>
-        <owl:equivalentProperty rdf:resource="&pav1;createdOn"/>
-        <rdfs:range rdf:resource="&xsd;dateTime"/>
-    </owl:DatatypeProperty>
-    
-
-
-    <!-- http://purl.org/pav/curatedOn -->
-
-    <owl:DatatypeProperty rdf:about="&pav;curatedOn">
-        <rdfs:label xml:lang="en">Curated on</rdfs:label>
-        <rdfs:comment xml:lang="en">The date this resource was curated. 
-
-pav:curatedBy gives the agent(s) that performed the curation.</rdfs:comment>
-        <rdfs:subPropertyOf rdf:resource="&pav;contributedOn"/>
-        <rdfs:seeAlso rdf:resource="&pav;curatedBy"/>
-    </owl:DatatypeProperty>
-    
-
-
-    <!-- http://purl.org/pav/importedOn -->
-
-    <owl:DatatypeProperty rdf:about="&pav;importedOn">
-        <rdfs:label xml:lang="en">Imported on</rdfs:label>
-        <rdfs:comment xml:lang="en">The date this resource was imported from a source (pav:importedFrom). 
-
-Note that pav:importedOn may overlap with pav:createdOn, but in cases where they differ, the import time indicates the time of the retrieval and transcription of the original source, while the creation time indicates when the final resource was made, for instance after user approval.
-
-If the source is later reimported, this should be indicated with pav:lastRefreshedOn.
-
-The source of the import should be given with pav:importedFrom. The agent that performed the import should be given with pav:importedBy.
-
-See pav:importedFrom for a discussion about import vs. retrieval.</rdfs:comment>
-        <rdfs:seeAlso rdf:resource="&pav;importedBy"/>
-        <rdfs:seeAlso rdf:resource="&pav;importedFrom"/>
-        <owl:equivalentProperty rdf:resource="&pav1;importedOn"/>
-        <rdfs:range rdf:resource="&xsd;dateTime"/>
-    </owl:DatatypeProperty>
-    
-
-
-    <!-- http://purl.org/pav/lastRefreshedOn -->
-
-    <owl:DatatypeProperty rdf:about="&pav;lastRefreshedOn">
-        <rdfs:label xml:lang="en">Last refreshed on</rdfs:label>
-        <rdfs:comment xml:lang="en">The date of the last re-import of the resource. This property is used in addition to pav:importedOn if this version has been updated due to a re-import. If the re-import created a new resource rather than refreshing an existing, then pav:importedOn should be used together with pav:previousVersion.</rdfs:comment>
-        <rdfs:seeAlso rdf:resource="&pav;importedBy"/>
-        <rdfs:seeAlso rdf:resource="&pav;importedFrom"/>
-        <rdfs:seeAlso rdf:resource="&pav;importedOn"/>
-        <rdfs:seeAlso rdf:resource="&pav;previousVersion"/>
-        <owl:equivalentProperty rdf:resource="&pav1;importedLastOn"/>
-        <rdfs:range rdf:resource="&xsd;dateTime"/>
-    </owl:DatatypeProperty>
-    
-
-
-    <!-- http://purl.org/pav/lastUpdateOn -->
-
-    <owl:DatatypeProperty rdf:about="&pav;lastUpdateOn">
-        <rdfs:label xml:lang="en">Last updated on</rdfs:label>
-        <rdfs:comment xml:lang="en">The date of the last update of the resource. An update is a change which did not warrant making a new resource related using pav:previousVersion, for instance correcting a spelling mistake.</rdfs:comment>
-        <rdfs:seeAlso rdf:resource="&pav;createdOn"/>
-        <rdfs:seeAlso rdf:resource="&pav;previousVersion"/>
-        <owl:equivalentProperty rdf:resource="&pav1;lastUpdateOn"/>
-        <rdfs:range rdf:resource="&xsd;dateTime"/>
-    </owl:DatatypeProperty>
-    
-
-
-    <!-- http://purl.org/pav/retrievedOn -->
-
-    <owl:DatatypeProperty rdf:about="&pav;retrievedOn">
-        <rdfs:label xml:lang="en">Retrieved on</rdfs:label>
-        <rdfs:comment xml:lang="en">The date the source for this resource was retrieved. 
-
-The source that was retrieved should be indicated with pav:retrievedFrom. The agent that performed the retrieval may be specified with pav:retrievedBy.
-</rdfs:comment>
-        <rdfs:seeAlso rdf:resource="&pav;retrievedBy"/>
-        <rdfs:seeAlso rdf:resource="&pav;retrievedFrom"/>
-        <rdfs:range rdf:resource="&xsd;dateTime"/>
-    </owl:DatatypeProperty>
-    
-
-
-    <!-- http://purl.org/pav/sourceAccessedOn -->
-
-    <owl:DatatypeProperty rdf:about="&pav;sourceAccessedOn">
-        <rdfs:label xml:lang="en">Source accessed on</rdfs:label>
-        <rdfs:comment xml:lang="en">The resource is related to a source which was originally accessed or consulted on the given date as part of creating or authoring the resource. The source(s) should be specified using pav:sourceAccessedAt. If the source is subsequently checked again (say to verify validity), this should be indicated with pav:sourceLastAccessedOn.
-
-In the case multiple sources being accessed at different times or by different agents, PAV does not distinguish who accessed when what. If such details are required, they may be provided by additionally using prov:qualifiedInfluence.</rdfs:comment>
-        <rdfs:seeAlso rdf:resource="&pav;createdAt"/>
-        <rdfs:seeAlso rdf:resource="&pav;sourceAccessedAt"/>
-        <rdfs:seeAlso rdf:resource="&pav;sourceAccessedBy"/>
-        <rdfs:seeAlso rdf:resource="&pav;sourceLastAccessedOn"/>
-        <owl:equivalentProperty rdf:resource="&pav1;sourceAccessedOn"/>
-        <owl:equivalentProperty rdf:resource="&pav1;sourceFirstAccessedOn"/>
-        <rdfs:range rdf:resource="&xsd;dateTime"/>
-    </owl:DatatypeProperty>
-    
-
-
-    <!-- http://purl.org/pav/sourceLastAccessedOn -->
-
-    <owl:DatatypeProperty rdf:about="&pav;sourceLastAccessedOn">
-        <rdfs:label xml:lang="en">Source last accessed on</rdfs:label>
-        <rdfs:comment xml:lang="en">The resource is related to a source which was last accessed or consulted on the given date. The source(s) should be specified using pav:sourceAccessedAt. Usage of this property indicates that the source has been checked previously, which the initial time should be indicated with pav:sourceAccessedOn.
-
-This property can be useful together with pav:lastRefreshedOn or pav:lastUpdateOn in order to indicate a re-import or update, but could also be used alone, for instance when a source was simply verified and no further action was taken for the resource,</rdfs:comment>
-        <rdfs:seeAlso rdf:resource="&pav;createdAt"/>
-        <rdfs:seeAlso rdf:resource="&pav;sourceAccessedAt"/>
-        <rdfs:seeAlso rdf:resource="&pav;sourceAccessedBy"/>
-        <owl:equivalentProperty rdf:resource="&pav1;sourceLastAccessedOn"/>
-        <rdfs:range rdf:resource="&xsd;dateTime"/>
-    </owl:DatatypeProperty>
-    
-
-
-    <!-- http://purl.org/pav/version -->
-
-    <owl:DatatypeProperty rdf:about="&pav;version">
-        <rdfs:label xml:lang="en">Version</rdfs:label>
-        <rdfs:comment rdf:datatype="&xsd;string">The version number of a resource. This is a freetext string, typical values are &quot;1.5&quot; or &quot;21&quot;. The URI identifying the previous version can be provided using prov:previousVersion.</rdfs:comment>
-        <rdfs:seeAlso rdf:resource="&pav;previousVersion"/>
-        <owl:equivalentProperty rdf:resource="&pav1;versionNumber"/>
-        <rdfs:range rdf:resource="&xsd;string"/>
-    </owl:DatatypeProperty>
-    
-
-
-</rdf:RDF>
-
-
-
-<!-- Generated by the OWL API (version 3.3.1957) http://owlapi.sourceforge.net -->
-
diff --git a/taverna-robundle/src/main/resources/ontologies/prov-aq.rdf b/taverna-robundle/src/main/resources/ontologies/prov-aq.rdf
deleted file mode 100644
index 5bd0501..0000000
--- a/taverna-robundle/src/main/resources/ontologies/prov-aq.rdf
+++ /dev/null
@@ -1,351 +0,0 @@
-<?xml version="1.0"?>
-<!--
-W3C PROV Access and Query Ontology (PROV-AQ)
-http://www.w3.org/ns/prov-aq.owl
-http://www.w3.org/TR/2013/NOTE-prov-aq-20130430/
-
-Copyright © 2011-2013 W3C® (MIT, ERCIM, Keio, Beihang), All Rights Reserved.
-W3C liability, trademark and document use rules apply.
-http://www.w3.org/Consortium/Legal/2015/doc-license
--->
-
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY owl "http://www.w3.org/2002/07/owl#" >
-    <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
-    <!ENTITY xml "http://www.w3.org/XML/1998/namespace" >
-    <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
-    <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
-]>
-
-
-<rdf:RDF xmlns="http://www.w3.org/ns/prov#"
-     xml:base="http://www.w3.org/ns/prov"
-     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-     xmlns:owl="http://www.w3.org/2002/07/owl#"
-     xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
-     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-     xmlns:xml="http://www.w3.org/XML/1998/namespace">
-    <owl:Ontology rdf:about="http://www.w3.org/ns/prov-aq#">
-        <rdfs:label xml:lang="en">PROV Access and Query Ontology</rdfs:label>
-        <rdfs:comment rdf:datatype="&xsd;string">0.2</rdfs:comment>
-        <rdfs:comment xml:lang="en">This document is published by the Provenance Working Group (http://www.w3.org/2011/prov/wiki/Main_Page). 
-
-If you wish to make comments regarding this document, please send them to public-prov-comments@w3.org (subscribe public-prov-comments-request@w3.org, archives http://lists.w3.org/Archives/Public/public-prov-comments/). All feedback is welcome.</rdfs:comment>
-        <owl:versionIRI rdf:resource="http://www.w3.org/TR/2013/NOTE-prov-aq-20130430/"/>
-        <rdfs:seeAlso rdf:resource="http://www.w3.org/TR/prov-aq/"/>
-        <rdfs:seeAlso rdf:resource="http://www.w3.org/ns/prov#"/>
-    </owl:Ontology>
-    
-
-
-    <!-- 
-    ///////////////////////////////////////////////////////////////////////////////////////
-    //
-    // Annotation properties
-    //
-    ///////////////////////////////////////////////////////////////////////////////////////
-     -->
-
-    <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#unqualifiedForm">
-        <rdfs:comment xml:lang="en">Classes and properties used to qualify relationships are annotated with prov:unqualifiedForm to indicate the property used to assert an unqualified provenance relation.</rdfs:comment>
-        <rdfs:subPropertyOf rdf:resource="&rdfs;seeAlso"/>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov#"/>
-    </owl:AnnotationProperty>
-    <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#aq">
-        <rdfs:subPropertyOf rdf:resource="&rdfs;seeAlso"/>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov#"/>
-    </owl:AnnotationProperty>
-    <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#sharesDefinitionWith">
-        <rdfs:subPropertyOf rdf:resource="&rdfs;seeAlso"/>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov#"/>
-    </owl:AnnotationProperty>
-    <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#definition">
-        <rdfs:comment xml:lang="en">A definition quoted from PROV-DM or PROV-CONSTRAINTS that describes the concept expressed with this OWL term.</rdfs:comment>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov#"/>
-    </owl:AnnotationProperty>
-    <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#editorialNote">
-        <rdfs:comment xml:lang="en">A note by the OWL development team about how this term expresses the PROV-DM concept, or how it should be used in context of semantic web or linked data.</rdfs:comment>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov#"/>
-    </owl:AnnotationProperty>
-    <owl:AnnotationProperty rdf:about="&rdfs;label">
-        <rdfs:comment xml:lang="en"></rdfs:comment>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov#"/>
-    </owl:AnnotationProperty>
-    <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#inverse">
-        <rdfs:comment xml:lang="en">PROV-O does not define all property inverses. The directionalities defined in PROV-O should be given preference over those not defined. However, if users wish to name the inverse of a PROV-O property, the local name given by prov:inverse should be used.</rdfs:comment>
-        <rdfs:seeAlso rdf:resource="http://www.w3.org/TR/prov-o/#names-of-inverse-properties"/>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov#"/>
-    </owl:AnnotationProperty>
-    <owl:AnnotationProperty rdf:about="&rdfs;comment">
-        <rdfs:comment xml:lang="en"></rdfs:comment>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov#"/>
-    </owl:AnnotationProperty>
-    <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#constraints">
-        <rdfs:comment xml:lang="en">A reference to the principal section of the PROV-CONSTRAINTS document that describes this concept.</rdfs:comment>
-        <rdfs:subPropertyOf rdf:resource="&rdfs;seeAlso"/>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov#"/>
-    </owl:AnnotationProperty>
-    <owl:AnnotationProperty rdf:about="&owl;versionInfo"/>
-    <owl:AnnotationProperty rdf:about="&rdfs;seeAlso">
-        <rdfs:comment xml:lang="en"></rdfs:comment>
-    </owl:AnnotationProperty>
-    <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#dm">
-        <rdfs:comment xml:lang="en">A reference to the principal section of the PROV-DM document that describes this concept.</rdfs:comment>
-        <rdfs:subPropertyOf rdf:resource="&rdfs;seeAlso"/>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov#"/>
-    </owl:AnnotationProperty>
-    <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#category">
-        <rdfs:comment xml:lang="en">Classify prov-o terms into three categories, including &apos;starting-point&apos;, &apos;qualifed&apos;, and &apos;extended&apos;. This classification is used by the prov-o html document to gently introduce prov-o terms to its users. </rdfs:comment>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov#"/>
-    </owl:AnnotationProperty>
-    <owl:AnnotationProperty rdf:about="&rdfs;isDefinedBy"/>
-    <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#editorsDefinition">
-        <rdfs:comment xml:lang="en">When the prov-o term does not have a definition drawn from prov-dm, and the prov-o editor provides one.</rdfs:comment>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov#"/>
-        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/ns/prov#definition"/>
-    </owl:AnnotationProperty>
-    <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#component">
-        <rdfs:comment xml:lang="en">Classify prov-o terms into six components according to prov-dm, including &apos;agents-responsibility&apos;, &apos;alternate&apos;, &apos;annotations&apos;, &apos;collections&apos;, &apos;derivations&apos;, and &apos;entities-activities&apos;. This classification is used so that readers of prov-o specification can find its correspondence with the prov-dm specification.</rdfs:comment>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov#"/>
-    </owl:AnnotationProperty>
-    <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#qualifiedForm">
-        <rdfs:comment xml:lang="en">This annotation property links a subproperty of prov:wasInfluencedBy with the subclass of prov:Influence and the qualifying property that are used to qualify it. 
-
-Example annotation:
-
-    prov:wasGeneratedBy prov:qualifiedForm prov:qualifiedGeneration, prov:Generation .
-
-Then this unqualified assertion:
-
-    :entity1 prov:wasGeneratedBy :activity1 .
-
-can be qualified by adding:
-
-   :entity1 prov:qualifiedGeneration :entity1Gen .
-   :entity1Gen 
-       a prov:Generation, prov:Influence;
-       prov:activity :activity1;
-       :customValue 1337 .
-
-Note how the value of the unqualified influence (prov:wasGeneratedBy :activity1) is mirrored as the value of the prov:activity (or prov:entity, or prov:agent) property on the influence class.</rdfs:comment>
-        <rdfs:subPropertyOf rdf:resource="&rdfs;seeAlso"/>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov#"/>
-    </owl:AnnotationProperty>
-    <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#todo"/>
-    <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#n">
-        <rdfs:comment xml:lang="en">A reference to the principal section of the PROV-M document that describes this concept.</rdfs:comment>
-        <rdfs:subPropertyOf rdf:resource="&rdfs;seeAlso"/>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov#"/>
-    </owl:AnnotationProperty>
-    
-
-
-    <!-- 
-    ///////////////////////////////////////////////////////////////////////////////////////
-    //
-    // Datatypes
-    //
-    ///////////////////////////////////////////////////////////////////////////////////////
-     -->
-
-    
-
-
-    <!-- 
-    ///////////////////////////////////////////////////////////////////////////////////////
-    //
-    // Object Properties
-    //
-    ///////////////////////////////////////////////////////////////////////////////////////
-     -->
-
-    
-
-
-    <!-- http://www.w3.org/2002/07/owl#topObjectProperty -->
-
-    <owl:ObjectProperty rdf:about="&owl;topObjectProperty"/>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#describesService -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#describesService">
-        <rdfs:label>describesService</rdfs:label>
-        <aq rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/NOTE-prov-aq-20130430/rovenance-query-service-description</aq>
-        <inverse>serviceDescribedBy</inverse>
-        <category>access-and-query</category>
-        <rdfs:comment xml:lang="en">relates a generic provenance query service resource (type prov:ServiceDescription) to a specific query service description (e.g. a prov:DirectQueryService or a sd:Service).</rdfs:comment>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov#"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#hadUsage -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#hadUsage">
-        <rdfs:label>hadUsage</rdfs:label>
-        <category>qualified</category>
-        <rdfs:comment xml:lang="en">The _optional_ Usage involved in an Entity&apos;s Derivation.</rdfs:comment>
-        <inverse>wasUsedInDerivation</inverse>
-        <component>derivations</component>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov#"/>
-        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Usage"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#has_anchor -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#has_anchor">
-        <rdfs:label>has_anchor</rdfs:label>
-        <aq rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/NOTE-prov-aq-20130430/#resource-represented-as-html</aq>
-        <category>access-and-query</category>
-        <rdfs:comment xml:lang="en">Indicates anchor URI for a potentially dynamic resource instance.</rdfs:comment>
-        <inverse>anchorOf</inverse>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov#"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#has_provenance -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#has_provenance">
-        <rdfs:label>has_provenance</rdfs:label>
-        <aq rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/NOTE-prov-aq-20130430/#resource-represented-as-html</aq>
-        <inverse>provenanceOf</inverse>
-        <rdfs:comment xml:lang="en">Indicates a provenance-URI for a resource; the resource identified by this property presents a provenance record about its subject or anchor resource.</rdfs:comment>
-        <category>access-and-query</category>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov#"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#has_query_service -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#has_query_service">
-        <rdfs:label>hasProvenanceService</rdfs:label>
-        <aq rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/NOTE-prov-aq-20130430/</aq>
-        <category>access-and-query</category>
-        <inverse>provenanceQueryServiceOf</inverse>
-        <rdfs:comment xml:lang="en">Indicates a provenance query service that can access provenance related to its subject or anchor resource.</rdfs:comment>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov#"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#pingback -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#pingback">
-        <rdfs:label>provenance pingback</rdfs:label>
-        <aq rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/NOTE-prov-aq-20130430/#provenance-pingback</aq>
-        <rdfs:comment xml:lang="en">Relates a resource to a provenance pingback service that may receive additional provenance links about the resource.</rdfs:comment>
-        <category>access-and-query</category>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov#"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#specializationOf -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#specializationOf">
-        <rdfs:label>specializationOf</rdfs:label>
-        <constraints rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2012/WD-prov-dm-20120703/prov-constraints.html#prov-dm-constraints-fig</constraints>
-        <dm rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2012/WD-prov-dm-20120703/prov-dm.html#term-specialization</dm>
-        <n rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2012/WD-prov-dm-20120703/prov-n.html#expression-specialization</n>
-        <component>alternate</component>
-        <category>expanded</category>
-        <inverse>generalizationOf</inverse>
-        <definition xml:lang="en">An entity that is a specialization of another shares all aspects of the latter, and additionally presents more specific aspects of the same thing as the latter. In particular, the lifetime of the entity being specialized contains that of any specialization. Examples of aspects include a time period, an abstraction, and a context associated with the entity.</definition>
-        <rdfs:subPropertyOf rdf:resource="&owl;topObjectProperty"/>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov#"/>
-        <rdfs:seeAlso rdf:resource="http://www.w3.org/ns/prov#alternateOf"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- 
-    ///////////////////////////////////////////////////////////////////////////////////////
-    //
-    // Data properties
-    //
-    ///////////////////////////////////////////////////////////////////////////////////////
-     -->
-
-    
-
-
-    <!-- http://www.w3.org/ns/prov#provenanceUriTemplate -->
-
-    <owl:DatatypeProperty rdf:about="http://www.w3.org/ns/prov#provenanceUriTemplate">
-        <rdfs:label>provenanceUriTemplate</rdfs:label>
-        <aq rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/NOTE-prov-aq-20130430/</aq>
-        <category>access-and-query</category>
-        <rdfs:comment xml:lang="en">Relates a provenance service to a URI template string for constructing provenance-URIs.</rdfs:comment>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov#"/>
-    </owl:DatatypeProperty>
-    
-
-
-    <!-- 
-    ///////////////////////////////////////////////////////////////////////////////////////
-    //
-    // Classes
-    //
-    ///////////////////////////////////////////////////////////////////////////////////////
-     -->
-
-    
-
-
-    <!-- http://www.w3.org/2002/07/owl#Thing -->
-
-    <owl:Class rdf:about="&owl;Thing"/>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#DirectQueryService -->
-
-    <owl:Class rdf:about="http://www.w3.org/ns/prov#DirectQueryService">
-        <rdfs:label>ProvenanceService</rdfs:label>
-        <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/prov#SoftwareAgent"/>
-        <aq rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/NOTE-prov-aq-20130430/#provenance-query-service-discovery</aq>
-        <category>access-and-query</category>
-        <rdfs:comment>Type for a generic provenance query service. Mainly for use in RDF provenance query service descriptions, to facilitate discovery in linked data environments.</rdfs:comment>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov#"/>
-    </owl:Class>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#ServiceDescription -->
-
-    <owl:Class rdf:about="http://www.w3.org/ns/prov#ServiceDescription">
-        <rdfs:label>ServiceDescription</rdfs:label>
-        <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/prov#SoftwareAgent"/>
-        <aq rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/NOTE-prov-aq-20130430/#provenance-query-service-discovery</aq>
-        <rdfs:comment>Type for a generic provenance query service. Mainly for use in RDF provenance query service descriptions, to facilitate discovery in linked data environments.</rdfs:comment>
-        <category>access-and-query</category>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov#"/>
-    </owl:Class>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#SoftwareAgent -->
-
-    <owl:Class rdf:about="http://www.w3.org/ns/prov#SoftwareAgent">
-        <rdfs:label>SoftwareAgent</rdfs:label>
-        <rdfs:subClassOf rdf:resource="&owl;Thing"/>
-        <dm rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2012/WD-prov-dm-20120703/prov-dm.html#term-agent</dm>
-        <n rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2012/WD-prov-dm-20120703/prov-n.html#expression-types</n>
-        <component>agents-responsibility</component>
-        <definition xml:lang="en">A software agent is running software.</definition>
-        <category>expanded</category>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov#"/>
-    </owl:Class>
-</rdf:RDF>
-
-
-
-<!-- Generated by the OWL API (version 3.2.5.1928) http://owlapi.sourceforge.net -->
-
diff --git a/taverna-robundle/src/main/resources/ontologies/prov-o.rdf b/taverna-robundle/src/main/resources/ontologies/prov-o.rdf
deleted file mode 100644
index 4a04b76..0000000
--- a/taverna-robundle/src/main/resources/ontologies/prov-o.rdf
+++ /dev/null
@@ -1,1798 +0,0 @@
-<?xml version="1.0"?>
-<!--
-     
-W3C PROVenance Interchange Ontology (PROV-O)
-http://www.w3.org/ns/prov-o.rdf
-http://www.w3.org/TR/2013/REC-prov-o-20130430/
-
-Copyright © 2011-2013 W3C® (MIT, ERCIM, Keio, Beihang), All Rights Reserved.
-W3C liability, trademark and document use rules apply.
-http://www.w3.org/Consortium/Legal/2015/doc-license
-
--->
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY owl "http://www.w3.org/2002/07/owl#" >
-    <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
-    <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
-    <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
-]>
-
-
-<rdf:RDF xmlns="http://www.w3.org/ns/prov#"
-     xml:base="http://www.w3.org/ns/prov"
-     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-     xmlns:owl="http://www.w3.org/2002/07/owl#"
-     xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
-     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
-    <owl:Ontology rdf:about="http://www.w3.org/ns/prov-o#">
-        <rdfs:label xml:lang="en">W3C PROVenance Interchange Ontology (PROV-O)</rdfs:label>
-        <owl:versionInfo xml:lang="en">Recommendation version 2013-04-30</owl:versionInfo>
-        <rdfs:comment xml:lang="en">This document is published by the Provenance Working Group (http://www.w3.org/2011/prov/wiki/Main_Page). 
-
-If you wish to make comments regarding this document, please send them to public-prov-comments@w3.org (subscribe public-prov-comments-request@w3.org, archives http://lists.w3.org/Archives/Public/public-prov-comments/). All feedback is welcome.</rdfs:comment>
-        <rdfs:seeAlso rdf:resource="http://www.w3.org/TR/prov-o/"/>
-        <rdfs:seeAlso rdf:resource="http://www.w3.org/ns/prov"/>
-        <specializationOf rdf:resource="http://www.w3.org/ns/prov-o"/>
-        <wasRevisionOf rdf:resource="http://www.w3.org/ns/prov-o-20120312"/>
-        <owl:versionIRI rdf:resource="http://www.w3.org/ns/prov-o-20130430"/>
-    </owl:Ontology>
-    
-    <owl:Ontology rdf:about="http://www.w3.org/ns/prov#"/>
-
-
-    <!-- 
-    ///////////////////////////////////////////////////////////////////////////////////////
-    //
-    // Annotation properties
-    //
-    ///////////////////////////////////////////////////////////////////////////////////////
-     -->
-
-    <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#unqualifiedForm">
-        <rdfs:comment xml:lang="en">Classes and properties used to qualify relationships are annotated with prov:unqualifiedForm to indicate the property used to assert an unqualified provenance relation.</rdfs:comment>
-        <rdfs:subPropertyOf rdf:resource="&rdfs;seeAlso"/>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-    </owl:AnnotationProperty>
-    <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#wasRevisionOf">
-        <rdfs:label>wasRevisionOf</rdfs:label>
-        <component>derivations</component>
-        <rdfs:comment xml:lang="en">A revision is a derivation that revises an entity into a revised version.</rdfs:comment>
-        <inverse>hadRevision</inverse>
-        <category>expanded</category>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#Revision"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#qualifiedRevision"/>
-    </owl:AnnotationProperty>
-    <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#aq">
-        <rdfs:subPropertyOf rdf:resource="&rdfs;seeAlso"/>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-    </owl:AnnotationProperty>
-    <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#sharesDefinitionWith">
-        <rdfs:subPropertyOf rdf:resource="&rdfs;seeAlso"/>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-    </owl:AnnotationProperty>
-    <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#definition">
-        <rdfs:comment xml:lang="en">A definition quoted from PROV-DM or PROV-CONSTRAINTS that describes the concept expressed with this OWL term.</rdfs:comment>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-    </owl:AnnotationProperty>
-    <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#editorialNote">
-        <rdfs:comment xml:lang="en">A note by the OWL development team about how this term expresses the PROV-DM concept, or how it should be used in context of semantic web or linked data.</rdfs:comment>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-    </owl:AnnotationProperty>
-    <owl:AnnotationProperty rdf:about="&rdfs;label">
-        <rdfs:comment xml:lang="en"></rdfs:comment>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-    </owl:AnnotationProperty>
-    <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#inverse">
-        <rdfs:comment xml:lang="en">PROV-O does not define all property inverses. The directionalities defined in PROV-O should be given preference over those not defined. However, if users wish to name the inverse of a PROV-O property, the local name given by prov:inverse should be used.</rdfs:comment>
-        <rdfs:seeAlso rdf:resource="http://www.w3.org/TR/prov-o/#names-of-inverse-properties"/>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-    </owl:AnnotationProperty>
-    <owl:AnnotationProperty rdf:about="&rdfs;comment">
-        <rdfs:comment xml:lang="en"></rdfs:comment>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-    </owl:AnnotationProperty>
-    <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#constraints">
-        <rdfs:comment xml:lang="en">A reference to the principal section of the PROV-CONSTRAINTS document that describes this concept.</rdfs:comment>
-        <rdfs:subPropertyOf rdf:resource="&rdfs;seeAlso"/>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-    </owl:AnnotationProperty>
-    <owl:AnnotationProperty rdf:about="&rdfs;seeAlso">
-        <rdfs:comment xml:lang="en"></rdfs:comment>
-    </owl:AnnotationProperty>
-    <owl:AnnotationProperty rdf:about="&owl;versionInfo"/>
-    <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#specializationOf">
-        <rdfs:label>specializationOf</rdfs:label>
-        <constraints rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-constraints-20130430/#prov-dm-constraints-fig</constraints>
-        <dm rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-specialization</dm>
-        <n rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-n-20130430/#expression-specialization</n>
-        <component>alternate</component>
-        <inverse>generalizationOf</inverse>
-        <category>expanded</category>
-        <definition xml:lang="en">An entity that is a specialization of another shares all aspects of the latter, and additionally presents more specific aspects of the same thing as the latter. In particular, the lifetime of the entity being specialized contains that of any specialization. Examples of aspects include a time period, an abstraction, and a context associated with the entity.</definition>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:seeAlso rdf:resource="http://www.w3.org/ns/prov#alternateOf"/>
-    </owl:AnnotationProperty>
-    <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#dm">
-        <rdfs:comment xml:lang="en">A reference to the principal section of the PROV-DM document that describes this concept.</rdfs:comment>
-        <rdfs:subPropertyOf rdf:resource="&rdfs;seeAlso"/>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-    </owl:AnnotationProperty>
-    <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#category">
-        <rdfs:comment xml:lang="en">Classify prov-o terms into three categories, including &#39;starting-point&#39;, &#39;qualifed&#39;, and &#39;extended&#39;. This classification is used by the prov-o html document to gently introduce prov-o terms to its users. </rdfs:comment>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-    </owl:AnnotationProperty>
-    <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#order">
-        <rdfs:comment xml:lang="en">The position that this OWL term should be listed within documentation. The scope of the documentation (e.g., among all terms, among terms within a prov:category, among properties applying to a particular class, etc.) is unspecified.</rdfs:comment>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-    </owl:AnnotationProperty>
-    <owl:AnnotationProperty rdf:about="&rdfs;isDefinedBy"/>
-    <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#editorsDefinition">
-        <rdfs:comment xml:lang="en">When the prov-o term does not have a definition drawn from prov-dm, and the prov-o editor provides one.</rdfs:comment>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/ns/prov#definition"/>
-    </owl:AnnotationProperty>
-    <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#component">
-        <rdfs:comment xml:lang="en">Classify prov-o terms into six components according to prov-dm, including &#39;agents-responsibility&#39;, &#39;alternate&#39;, &#39;annotations&#39;, &#39;collections&#39;, &#39;derivations&#39;, and &#39;entities-activities&#39;. This classification is used so that readers of prov-o specification can find its correspondence with the prov-dm specification.</rdfs:comment>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-    </owl:AnnotationProperty>
-    <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#qualifiedForm">
-        <rdfs:comment xml:lang="en">This annotation property links a subproperty of prov:wasInfluencedBy with the subclass of prov:Influence and the qualifying property that are used to qualify it. 
-
-Example annotation:
-
-    prov:wasGeneratedBy prov:qualifiedForm prov:qualifiedGeneration, prov:Generation .
-
-Then this unqualified assertion:
-
-    :entity1 prov:wasGeneratedBy :activity1 .
-
-can be qualified by adding:
-
-   :entity1 prov:qualifiedGeneration :entity1Gen .
-   :entity1Gen 
-       a prov:Generation, prov:Influence;
-       prov:activity :activity1;
-       :customValue 1337 .
-
-Note how the value of the unqualified influence (prov:wasGeneratedBy :activity1) is mirrored as the value of the prov:activity (or prov:entity, or prov:agent) property on the influence class.</rdfs:comment>
-        <rdfs:subPropertyOf rdf:resource="&rdfs;seeAlso"/>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-    </owl:AnnotationProperty>
-    <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#todo"/>
-    <owl:AnnotationProperty rdf:about="http://www.w3.org/ns/prov#n">
-        <rdfs:comment xml:lang="en">A reference to the principal section of the PROV-DM document that describes this concept.</rdfs:comment>
-        <rdfs:subPropertyOf rdf:resource="&rdfs;seeAlso"/>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-    </owl:AnnotationProperty>
-    
-
-
-    <!-- 
-    ///////////////////////////////////////////////////////////////////////////////////////
-    //
-    // Object Properties
-    //
-    ///////////////////////////////////////////////////////////////////////////////////////
-     -->
-
-    
-
-
-    <!-- http://www.w3.org/ns/prov#actedOnBehalfOf -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#actedOnBehalfOf">
-        <rdfs:label>actedOnBehalfOf</rdfs:label>
-        <component>agents-responsibility</component>
-        <inverse>hadDelegate</inverse>
-        <rdfs:comment xml:lang="en">An object property to express the accountability of an agent towards another agent. The subordinate agent acted on behalf of the responsible agent in an actual activity. </rdfs:comment>
-        <category>starting-point</category>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Agent"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Agent"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#Delegation"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#qualifiedDelegation"/>
-        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/ns/prov#wasInfluencedBy"/>
-        <owl:propertyChainAxiom rdf:parseType="Collection">
-            <rdf:Description rdf:about="http://www.w3.org/ns/prov#qualifiedDelegation"/>
-            <rdf:Description rdf:about="http://www.w3.org/ns/prov#agent"/>
-        </owl:propertyChainAxiom>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#activity -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#activity">
-        <rdfs:label>activity</rdfs:label>
-        <editorsDefinition>The prov:activity property references an prov:Activity which influenced a resource. This property applies to an prov:ActivityInfluence, which is given by a subproperty of prov:qualifiedInfluence from the influenced prov:Entity, prov:Activity or prov:Agent.</editorsDefinition>
-        <inverse>activityOfInfluence</inverse>
-        <editorialNote xml:lang="en">This property behaves in spirit like rdf:object; it references the object of a prov:wasInfluencedBy triple.</editorialNote>
-        <category>qualified</category>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Activity"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#ActivityInfluence"/>
-        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/ns/prov#influencer"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#agent -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#agent">
-        <rdfs:label>agent</rdfs:label>
-        <editorsDefinition xml:lang="en">The prov:agent property references an prov:Agent which influenced a resource. This property applies to an prov:AgentInfluence, which is given by a subproperty of prov:qualifiedInfluence from the influenced prov:Entity, prov:Activity or prov:Agent.</editorsDefinition>
-        <inverse>agentOfInfluence</inverse>
-        <editorialNote xml:lang="en">This property behaves in spirit like rdf:object; it references the object of a prov:wasInfluencedBy triple.</editorialNote>
-        <category>qualified</category>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Agent"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#AgentInfluence"/>
-        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/ns/prov#influencer"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#alternateOf -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#alternateOf">
-        <rdfs:label>alternateOf</rdfs:label>
-        <constraints rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-constraints-20130430/#prov-dm-constraints-fig</constraints>
-        <dm rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-alternate</dm>
-        <n rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-n-20130430/#expression-alternate</n>
-        <definition xml:lang="en">Two alternate entities present aspects of the same thing. These aspects may be the same or different, and the alternate entities may or may not overlap in time.</definition>
-        <category>expanded</category>
-        <component>alternate</component>
-        <inverse>alternateOf</inverse>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-        <rdfs:seeAlso rdf:resource="http://www.w3.org/ns/prov#specializationOf"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#atLocation -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#atLocation">
-        <rdfs:label>atLocation</rdfs:label>
-        <rdfs:comment xml:lang="en">The Location of any resource.</rdfs:comment>
-        <inverse>locationOf</inverse>
-        <editorialNote xml:lang="en">The naming of prov:atLocation parallels prov:atTime, and is not named prov:hadLocation to avoid conflicting with the convention that prov:had* properties are used on prov:Influence classes.</editorialNote>
-        <rdfs:comment>This property has multiple RDFS domains to suit multiple OWL Profiles. See &lt;a href=&quot;#owl-profile&quot;&gt;PROV-O OWL Profile&lt;/a&gt;.</rdfs:comment>
-        <editorialNote xml:lang="en">This property is not functional because the many values could be at a variety of granularies (In this building, in this room, in that chair).</editorialNote>
-        <category>expanded</category>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Location"/>
-        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Location"/>
-        <rdfs:domain>
-            <owl:Class>
-                <owl:unionOf rdf:parseType="Collection">
-                    <rdf:Description rdf:about="http://www.w3.org/ns/prov#Activity"/>
-                    <rdf:Description rdf:about="http://www.w3.org/ns/prov#Agent"/>
-                    <rdf:Description rdf:about="http://www.w3.org/ns/prov#Entity"/>
-                    <rdf:Description rdf:about="http://www.w3.org/ns/prov#InstantaneousEvent"/>
-                </owl:unionOf>
-            </owl:Class>
-        </rdfs:domain>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#entity -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#entity">
-        <rdfs:label>entity</rdfs:label>
-        <editorsDefinition>The prov:entity property references an prov:Entity which influenced a resource. This property applies to an prov:EntityInfluence, which is given by a subproperty of prov:qualifiedInfluence from the influenced prov:Entity, prov:Activity or prov:Agent.</editorsDefinition>
-        <inverse>entityOfInfluence</inverse>
-        <editorialNote xml:lang="en">This property behaves in spirit like rdf:object; it references the object of a prov:wasInfluencedBy triple.</editorialNote>
-        <category>qualified</category>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#EntityInfluence"/>
-        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/ns/prov#influencer"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#generated -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#generated">
-        <rdfs:label>generated</rdfs:label>
-        <component>entities-activities</component>
-        <inverse>wasGeneratedBy</inverse>
-        <category>expanded</category>
-        <editorialNote xml:lang="en">prov:generated is one of few inverse property defined, to allow Activity-oriented assertions in addition to Entity-oriented assertions.</editorialNote>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Activity"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Generation"/>
-        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/ns/prov#influenced"/>
-        <owl:inverseOf rdf:resource="http://www.w3.org/ns/prov#wasGeneratedBy"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#hadActivity -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#hadActivity">
-        <rdfs:label>hadActivity</rdfs:label>
-        <rdfs:comment>This property has multiple RDFS domains to suit multiple OWL Profiles. See &lt;a href=&quot;#owl-profile&quot;&gt;PROV-O OWL Profile&lt;/a&gt;.</rdfs:comment>
-        <rdfs:comment xml:lang="en">The _optional_ Activity of an Influence, which used, generated, invalidated, or was the responsibility of some Entity. This property is _not_ used by ActivityInfluence (use prov:activity instead).</rdfs:comment>
-        <editorialNote xml:lang="en">The multiple rdfs:domain assertions are intended. One is simpler and works for OWL-RL, the union is more specific but is not recognized by OWL-RL.</editorialNote>
-        <component>derivations</component>
-        <category>qualified</category>
-        <inverse>wasActivityOfInfluence</inverse>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Activity"/>
-        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Activity"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Influence"/>
-        <rdfs:domain>
-            <owl:Class>
-                <owl:unionOf rdf:parseType="Collection">
-                    <rdf:Description rdf:about="http://www.w3.org/ns/prov#Delegation"/>
-                    <rdf:Description rdf:about="http://www.w3.org/ns/prov#Derivation"/>
-                    <rdf:Description rdf:about="http://www.w3.org/ns/prov#End"/>
-                    <rdf:Description rdf:about="http://www.w3.org/ns/prov#Start"/>
-                </owl:unionOf>
-            </owl:Class>
-        </rdfs:domain>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#hadGeneration -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#hadGeneration">
-        <rdfs:label>hadGeneration</rdfs:label>
-        <inverse>generatedAsDerivation</inverse>
-        <category>qualified</category>
-        <rdfs:comment xml:lang="en">The _optional_ Generation involved in an Entity&#39;s Derivation.</rdfs:comment>
-        <component>derivations</component>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Derivation"/>
-        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Generation"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Generation"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#hadMember -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#hadMember">
-        <rdfs:label>hadMember</rdfs:label>
-        <category>expanded</category>
-        <component>expanded</component>
-        <inverse>wasMemberOf</inverse>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Collection"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Collection"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/ns/prov#wasInfluencedBy"/>
-    </owl:ObjectProperty>
-    <owl:Axiom>
-        <rdfs:comment xml:lang="en">A collection is an entity that provides a structure to some constituents, which are themselves entities. These constituents are said to be member of the collections.</rdfs:comment>
-        <dm>http://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-collection</dm>
-        <owl:annotatedProperty rdf:resource="&rdfs;range"/>
-        <owl:annotatedTarget rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-        <owl:annotatedSource rdf:resource="http://www.w3.org/ns/prov#hadMember"/>
-    </owl:Axiom>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#hadPlan -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#hadPlan">
-        <rdfs:label>hadPlan</rdfs:label>
-        <category>qualified</category>
-        <component>agents-responsibility</component>
-        <inverse>wasPlanOf</inverse>
-        <rdfs:comment xml:lang="en">The _optional_ Plan adopted by an Agent in Association with some Activity. Plan specifications are out of the scope of this specification.</rdfs:comment>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Association"/>
-        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Plan"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Plan"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#hadPrimarySource -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#hadPrimarySource">
-        <rdfs:label>hadPrimarySource</rdfs:label>
-        <component>derivations</component>
-        <category>expanded</category>
-        <inverse>wasPrimarySourceOf</inverse>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#PrimarySource"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#qualifiedPrimarySource"/>
-        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/ns/prov#wasDerivedFrom"/>
-        <owl:propertyChainAxiom rdf:parseType="Collection">
-            <rdf:Description rdf:about="http://www.w3.org/ns/prov#qualifiedPrimarySource"/>
-            <rdf:Description rdf:about="http://www.w3.org/ns/prov#entity"/>
-        </owl:propertyChainAxiom>
-    </owl:ObjectProperty>
-    <owl:Axiom>
-        <rdfs:comment>hadPrimarySource property is a particular case of wasDerivedFrom (see http://www.w3.org/TR/prov-dm/#term-original-source) that aims to give credit to the source that originated some information.</rdfs:comment>
-        <owl:annotatedProperty rdf:resource="&rdfs;subPropertyOf"/>
-        <owl:annotatedSource rdf:resource="http://www.w3.org/ns/prov#hadPrimarySource"/>
-        <owl:annotatedTarget rdf:resource="http://www.w3.org/ns/prov#wasDerivedFrom"/>
-    </owl:Axiom>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#hadRole -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#hadRole">
-        <rdfs:label>hadRole</rdfs:label>
-        <component>agents-responsibility</component>
-        <inverse>wasRoleIn</inverse>
-        <rdfs:comment>This property has multiple RDFS domains to suit multiple OWL Profiles. See &lt;a href=&quot;#owl-profile&quot;&gt;PROV-O OWL Profile&lt;/a&gt;.</rdfs:comment>
-        <category>qualified</category>
-        <rdfs:comment xml:lang="en">The _optional_ Role that an Entity assumed in the context of an Activity. For example, :baking prov:used :spoon; prov:qualified [ a prov:Usage; prov:entity :spoon; prov:hadRole roles:mixing_implement ].</rdfs:comment>
-        <editorsDefinition xml:lang="en">prov:hadRole references the Role (i.e. the function of an entity with respect to an activity), in the context of an instantaneous usage, generation, association, start, and end.</editorsDefinition>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Influence"/>
-        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Role"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Role"/>
-        <rdfs:domain>
-            <owl:Class>
-                <owl:unionOf rdf:parseType="Collection">
-                    <rdf:Description rdf:about="http://www.w3.org/ns/prov#Association"/>
-                    <rdf:Description rdf:about="http://www.w3.org/ns/prov#InstantaneousEvent"/>
-                </owl:unionOf>
-            </owl:Class>
-        </rdfs:domain>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#hadUsage -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#hadUsage">
-        <rdfs:label>hadUsage</rdfs:label>
-        <category>qualified</category>
-        <rdfs:comment xml:lang="en">The _optional_ Usage involved in an Entity&#39;s Derivation.</rdfs:comment>
-        <inverse>wasUsedInDerivation</inverse>
-        <component>derivations</component>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Derivation"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Usage"/>
-        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Usage"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#influenced -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#influenced">
-        <rdfs:label>influenced</rdfs:label>
-        <inverse>wasInfluencedBy</inverse>
-        <component>agents-responsibility</component>
-        <category>expanded</category>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Influence"/>
-        <owl:inverseOf rdf:resource="http://www.w3.org/ns/prov#wasInfluencedBy"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#influencer -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#influencer">
-        <rdfs:label>influencer</rdfs:label>
-        <dm rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-influence</dm>
-        <category>qualified</category>
-        <inverse>hadInfluence</inverse>
-        <rdfs:comment xml:lang="en">Subproperties of prov:influencer are used to cite the object of an unqualified PROV-O triple whose predicate is a subproperty of prov:wasInfluencedBy (e.g. prov:used, prov:wasGeneratedBy). prov:influencer is used much like rdf:object is used.</rdfs:comment>
-        <editorialNote xml:lang="en">This property and its subproperties are used in the same way as the rdf:object property, i.e. to reference the object of an unqualified prov:wasInfluencedBy or prov:influenced triple.</editorialNote>
-        <editorsDefinition xml:lang="en">This property is used as part of the qualified influence pattern. Subclasses of prov:Influence use these subproperties to reference the resource (Entity, Agent, or Activity) whose influence is being qualified.</editorsDefinition>
-        <rdfs:range rdf:resource="&owl;Thing"/>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Influence"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#invalidated -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#invalidated">
-        <rdfs:label>invalidated</rdfs:label>
-        <category>expanded</category>
-        <inverse>wasInvalidatedBy</inverse>
-        <component>entities-activities</component>
-        <editorialNote xml:lang="en">prov:invalidated is one of few inverse property defined, to allow Activity-oriented assertions in addition to Entity-oriented assertions.</editorialNote>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Activity"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Invalidation"/>
-        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/ns/prov#influenced"/>
-        <owl:inverseOf rdf:resource="http://www.w3.org/ns/prov#wasInvalidatedBy"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#qualifiedAssociation -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#qualifiedAssociation">
-        <rdfs:label>qualifiedAssociation</rdfs:label>
-        <inverse>qualifiedAssociationOf</inverse>
-        <rdfs:comment xml:lang="en">If this Activity prov:wasAssociatedWith Agent :ag, then it can qualify the Association using prov:qualifiedAssociation [ a prov:Association;  prov:agent :ag; :foo :bar ].</rdfs:comment>
-        <component>agents-responsibility</component>
-        <category>qualified</category>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Activity"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Association"/>
-        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Association"/>
-        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/ns/prov#qualifiedInfluence"/>
-        <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#wasAssociatedWith"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#qualifiedAttribution -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#qualifiedAttribution">
-        <rdfs:label>qualifiedAttribution</rdfs:label>
-        <inverse>qualifiedAttributionOf</inverse>
-        <category>qualified</category>
-        <component>agents-responsibility</component>
-        <rdfs:comment xml:lang="en">If this Entity prov:wasAttributedTo Agent :ag, then it can qualify how it was influenced using prov:qualifiedAttribution [ a prov:Attribution;  prov:agent :ag; :foo :bar ].</rdfs:comment>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Attribution"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Attribution"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/ns/prov#qualifiedInfluence"/>
-        <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#wasAttributedTo"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#qualifiedCommunication -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#qualifiedCommunication">
-        <rdfs:label>qualifiedCommunication</rdfs:label>
-        <inverse>qualifiedCommunicationOf</inverse>
-        <component>entities-activities</component>
-        <rdfs:comment xml:lang="en">If this Activity prov:wasInformedBy Activity :a, then it can qualify how it was influenced using prov:qualifiedCommunication [ a prov:Communication;  prov:activity :a; :foo :bar ].</rdfs:comment>
-        <category>qualified</category>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Activity"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#Communication"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Communication"/>
-        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Communication"/>
-        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/ns/prov#qualifiedInfluence"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#qualifiedDelegation -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#qualifiedDelegation">
-        <rdfs:label>qualifiedDelegation</rdfs:label>
-        <category>qualified</category>
-        <rdfs:comment xml:lang="en">If this Agent prov:actedOnBehalfOf Agent :ag, then it can qualify how with prov:qualifiedResponsibility [ a prov:Responsibility;  prov:agent :ag; :foo :bar ].</rdfs:comment>
-        <inverse>qualifiedDelegationOf</inverse>
-        <component>agents-responsibility</component>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Agent"/>
-        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Delegation"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Delegation"/>
-        <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#actedOnBehalfOf"/>
-        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/ns/prov#qualifiedInfluence"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#qualifiedDerivation -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#qualifiedDerivation">
-        <rdfs:label>qualifiedDerivation</rdfs:label>
-        <component>derivations</component>
-        <category>qualified</category>
-        <rdfs:comment xml:lang="en">If this Entity prov:wasDerivedFrom Entity :e, then it can qualify how it was derived using prov:qualifiedDerivation [ a prov:Derivation;  prov:entity :e; :foo :bar ].</rdfs:comment>
-        <inverse>qualifiedDerivationOf</inverse>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Derivation"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Derivation"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/ns/prov#qualifiedInfluence"/>
-        <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#wasDerivedFrom"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#qualifiedEnd -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#qualifiedEnd">
-        <rdfs:label>qualifiedEnd</rdfs:label>
-        <category>qualified</category>
-        <inverse>qualifiedEndOf</inverse>
-        <component>entities-activities</component>
-        <rdfs:comment xml:lang="en">If this Activity prov:wasEndedBy Entity :e1, then it can qualify how it was ended using prov:qualifiedEnd [ a prov:End;  prov:entity :e1; :foo :bar ].</rdfs:comment>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Activity"/>
-        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#End"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#End"/>
-        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/ns/prov#qualifiedInfluence"/>
-        <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#wasEndedBy"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#qualifiedGeneration -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#qualifiedGeneration">
-        <rdfs:label>qualifiedGeneration</rdfs:label>
-        <inverse>qualifiedGenerationOf</inverse>
-        <component>entities-activities</component>
-        <category>qualified</category>
-        <rdfs:comment xml:lang="en">If this Activity prov:generated Entity :e, then it can qualify how it performed the Generation using prov:qualifiedGeneration [ a prov:Generation;  prov:entity :e; :foo :bar ].</rdfs:comment>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Generation"/>
-        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Generation"/>
-        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/ns/prov#qualifiedInfluence"/>
-        <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#wasGeneratedBy"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#qualifiedInfluence -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#qualifiedInfluence">
-        <rdfs:label>qualifiedInfluence</rdfs:label>
-        <rdfs:comment xml:lang="en">Because prov:qualifiedInfluence is a broad relation, the more specific relations (qualifiedCommunication, qualifiedDelegation, qualifiedEnd, etc.) should be used when applicable.</rdfs:comment>
-        <category>qualified</category>
-        <inverse>qualifiedInfluenceOf</inverse>
-        <component>derivations</component>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Influence"/>
-        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Influence"/>
-        <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#wasInfluencedBy"/>
-        <rdfs:domain>
-            <owl:Class>
-                <owl:unionOf rdf:parseType="Collection">
-                    <rdf:Description rdf:about="http://www.w3.org/ns/prov#Activity"/>
-                    <rdf:Description rdf:about="http://www.w3.org/ns/prov#Agent"/>
-                    <rdf:Description rdf:about="http://www.w3.org/ns/prov#Entity"/>
-                </owl:unionOf>
-            </owl:Class>
-        </rdfs:domain>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#qualifiedInvalidation -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#qualifiedInvalidation">
-        <rdfs:label>qualifiedInvalidation</rdfs:label>
-        <rdfs:comment xml:lang="en">If this Entity prov:wasInvalidatedBy Activity :a, then it can qualify how it was invalidated using prov:qualifiedInvalidation [ a prov:Invalidation;  prov:activity :a; :foo :bar ].</rdfs:comment>
-        <component>entities-activities</component>
-        <category>qualified</category>
-        <inverse>qualifiedInvalidationOf</inverse>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Invalidation"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Invalidation"/>
-        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/ns/prov#qualifiedInfluence"/>
-        <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#wasInvalidatedBy"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#qualifiedPrimarySource -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#qualifiedPrimarySource">
-        <rdfs:label>qualifiedPrimarySource</rdfs:label>
-        <rdfs:comment xml:lang="en">If this Entity prov:hadPrimarySource Entity :e, then it can qualify how using prov:qualifiedPrimarySource [ a prov:PrimarySource; prov:entity :e; :foo :bar ].</rdfs:comment>
-        <component>derivations</component>
-        <category>qualified</category>
-        <inverse>qualifiedSourceOf</inverse>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#PrimarySource"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#PrimarySource"/>
-        <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#hadPrimarySource"/>
-        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/ns/prov#qualifiedInfluence"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#qualifiedQuotation -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#qualifiedQuotation">
-        <rdfs:label>qualifiedQuotation</rdfs:label>
-        <category>qualified</category>
-        <inverse>qualifiedQuotationOf</inverse>
-        <rdfs:comment xml:lang="en">If this Entity prov:wasQuotedFrom Entity :e, then it can qualify how using prov:qualifiedQuotation [ a prov:Quotation;  prov:entity :e; :foo :bar ].</rdfs:comment>
-        <component>derivations</component>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Quotation"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Quotation"/>
-        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/ns/prov#qualifiedInfluence"/>
-        <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#wasQuotedFrom"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#qualifiedRevision -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#qualifiedRevision">
-        <rdfs:label>qualifiedRevision</rdfs:label>
-        <rdfs:comment xml:lang="en">If this Entity prov:wasRevisionOf Entity :e, then it can qualify how it was revised using prov:qualifiedRevision [ a prov:Revision;  prov:entity :e; :foo :bar ].</rdfs:comment>
-        <category>qualified</category>
-        <inverse>revisedEntity</inverse>
-        <component>derivations</component>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Revision"/>
-        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Revision"/>
-        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/ns/prov#qualifiedInfluence"/>
-        <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#wasRevisionOf"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#qualifiedStart -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#qualifiedStart">
-        <rdfs:label>qualifiedStart</rdfs:label>
-        <inverse>qualifiedStartOf</inverse>
-        <category>qualified</category>
-        <component>entities-activities</component>
-        <rdfs:comment xml:lang="en">If this Activity prov:wasStartedBy Entity :e1, then it can qualify how it was started using prov:qualifiedStart [ a prov:Start;  prov:entity :e1; :foo :bar ].</rdfs:comment>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Activity"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Start"/>
-        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Start"/>
-        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/ns/prov#qualifiedInfluence"/>
-        <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#wasStartedBy"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#qualifiedUsage -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#qualifiedUsage">
-        <rdfs:label>qualifiedUsage</rdfs:label>
-        <category>qualified</category>
-        <inverse>qualifiedUsingActivity</inverse>
-        <component>entities-activities</component>
-        <rdfs:comment xml:lang="en">If this Activity prov:used Entity :e, then it can qualify how it used it using prov:qualifiedUsage [ a prov:Usage; prov:entity :e; :foo :bar ].</rdfs:comment>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Activity"/>
-        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Usage"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Usage"/>
-        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/ns/prov#qualifiedInfluence"/>
-        <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#used"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#specializationOf -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#specializationOf">
-        <rdfs:label>specializationOf</rdfs:label>
-        <constraints rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-constraints-20130430/#prov-dm-constraints-fig</constraints>
-        <dm rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-specialization</dm>
-        <n rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-n-20130430/#expression-specialization</n>
-        <component>alternate</component>
-        <category>expanded</category>
-        <inverse>generalizationOf</inverse>
-        <definition xml:lang="en">An entity that is a specialization of another shares all aspects of the latter, and additionally presents more specific aspects of the same thing as the latter. In particular, the lifetime of the entity being specialized contains that of any specialization. Examples of aspects include a time period, an abstraction, and a context associated with the entity.</definition>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-        <rdfs:seeAlso rdf:resource="http://www.w3.org/ns/prov#alternateOf"/>
-        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/ns/prov#alternateOf"/>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#used -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#used">
-        <rdfs:label>used</rdfs:label>
-        <inverse>wasUsedBy</inverse>
-        <rdfs:comment xml:lang="en">A prov:Entity that was used by this prov:Activity. For example, :baking prov:used :spoon, :egg, :oven .</rdfs:comment>
-        <category>starting-point</category>
-        <component>entities-activities</component>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Activity"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#Usage"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#qualifiedUsage"/>
-        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/ns/prov#wasInfluencedBy"/>
-        <owl:propertyChainAxiom rdf:parseType="Collection">
-            <rdf:Description rdf:about="http://www.w3.org/ns/prov#qualifiedUsage"/>
-            <rdf:Description rdf:about="http://www.w3.org/ns/prov#entity"/>
-        </owl:propertyChainAxiom>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#wasAssociatedWith -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#wasAssociatedWith">
-        <rdfs:label>wasAssociatedWith</rdfs:label>
-        <component>agents-responsibility</component>
-        <inverse>wasAssociateFor</inverse>
-        <rdfs:comment xml:lang="en">An prov:Agent that had some (unspecified) responsibility for the occurrence of this prov:Activity.</rdfs:comment>
-        <category>starting-point</category>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Activity"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Agent"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#Association"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#qualifiedAssociation"/>
-        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/ns/prov#wasInfluencedBy"/>
-        <owl:propertyChainAxiom rdf:parseType="Collection">
-            <rdf:Description rdf:about="http://www.w3.org/ns/prov#qualifiedAssociation"/>
-            <rdf:Description rdf:about="http://www.w3.org/ns/prov#agent"/>
-        </owl:propertyChainAxiom>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#wasAttributedTo -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#wasAttributedTo">
-        <rdfs:label>wasAttributedTo</rdfs:label>
-        <component>agents-responsibility</component>
-        <category>starting-point</category>
-        <inverse>contributed</inverse>
-        <definition xml:lang="en">Attribution is the ascribing of an entity to an agent.</definition>
-        <rdfs:comment xml:lang="en">Attribution is the ascribing of an entity to an agent.</rdfs:comment>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Agent"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#Attribution"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#qualifiedAttribution"/>
-        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/ns/prov#wasInfluencedBy"/>
-        <owl:propertyChainAxiom rdf:parseType="Collection">
-            <rdf:Description rdf:about="http://www.w3.org/ns/prov#qualifiedAttribution"/>
-            <rdf:Description rdf:about="http://www.w3.org/ns/prov#agent"/>
-        </owl:propertyChainAxiom>
-    </owl:ObjectProperty>
-    <owl:Axiom>
-        <rdfs:comment>Attribution is a particular case of trace (see http://www.w3.org/TR/prov-dm/#concept-trace), in the sense that it links an entity to the agent that ascribed it.</rdfs:comment>
-        <definition>IF wasAttributedTo(e2,ag1,aAttr) holds, THEN wasInfluencedBy(e2,ag1) also holds. </definition>
-        <owl:annotatedProperty rdf:resource="&rdfs;subPropertyOf"/>
-        <owl:annotatedSource rdf:resource="http://www.w3.org/ns/prov#wasAttributedTo"/>
-        <owl:annotatedTarget rdf:resource="http://www.w3.org/ns/prov#wasInfluencedBy"/>
-    </owl:Axiom>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#wasDerivedFrom -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#wasDerivedFrom">
-        <rdfs:label>wasDerivedFrom</rdfs:label>
-        <inverse>hadDerivation</inverse>
-        <definition xml:lang="en">A derivation is a transformation of an entity into another, an update of an entity resulting in a new one, or the construction of a new entity based on a pre-existing entity.</definition>
-        <category>starting-point</category>
-        <rdfs:comment xml:lang="en">The more specific subproperties of prov:wasDerivedFrom (i.e., prov:wasQuotedFrom, prov:wasRevisionOf, prov:hadPrimarySource) should be used when applicable.</rdfs:comment>
-        <component>derivations</component>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#Derivation"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#qualifiedDerivation"/>
-        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/ns/prov#wasInfluencedBy"/>
-        <owl:propertyChainAxiom rdf:parseType="Collection">
-            <rdf:Description rdf:about="http://www.w3.org/ns/prov#qualifiedDerivation"/>
-            <rdf:Description rdf:about="http://www.w3.org/ns/prov#entity"/>
-        </owl:propertyChainAxiom>
-    </owl:ObjectProperty>
-    <owl:Axiom>
-        <rdfs:comment>Derivation is a particular case of trace (see http://www.w3.org/TR/prov-dm/#term-trace), since it links an entity to another entity that contributed to its existence.</rdfs:comment>
-        <owl:annotatedProperty rdf:resource="&rdfs;subPropertyOf"/>
-        <owl:annotatedSource rdf:resource="http://www.w3.org/ns/prov#wasDerivedFrom"/>
-        <owl:annotatedTarget rdf:resource="http://www.w3.org/ns/prov#wasInfluencedBy"/>
-    </owl:Axiom>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#wasEndedBy -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#wasEndedBy">
-        <rdfs:label>wasEndedBy</rdfs:label>
-        <category>expanded</category>
-        <component>entities-activities</component>
-        <rdfs:comment xml:lang="en">End is when an activity is deemed to have ended. An end may refer to an entity, known as trigger, that terminated the activity.</rdfs:comment>
-        <inverse>ended</inverse>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Activity"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#End"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#qualifiedEnd"/>
-        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/ns/prov#wasInfluencedBy"/>
-        <owl:propertyChainAxiom rdf:parseType="Collection">
-            <rdf:Description rdf:about="http://www.w3.org/ns/prov#qualifiedEnd"/>
-            <rdf:Description rdf:about="http://www.w3.org/ns/prov#entity"/>
-        </owl:propertyChainAxiom>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#wasGeneratedBy -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#wasGeneratedBy">
-        <rdfs:label>wasGeneratedBy</rdfs:label>
-        <inverse>generated</inverse>
-        <category>starting-point</category>
-        <component>entities-activities</component>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Activity"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#Generation"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#qualifiedGeneration"/>
-        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/ns/prov#wasInfluencedBy"/>
-        <owl:propertyChainAxiom rdf:parseType="Collection">
-            <rdf:Description rdf:about="http://www.w3.org/ns/prov#qualifiedGeneration"/>
-            <rdf:Description rdf:about="http://www.w3.org/ns/prov#activity"/>
-        </owl:propertyChainAxiom>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#wasInfluencedBy -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#wasInfluencedBy">
-        <rdfs:label>wasInfluencedBy</rdfs:label>
-        <rdfs:comment xml:lang="en">Because prov:wasInfluencedBy is a broad relation, its more specific subproperties (e.g. prov:wasInformedBy, prov:actedOnBehalfOf, prov:wasEndedBy, etc.) should be used when applicable.</rdfs:comment>
-        <editorialNote xml:lang="en">The sub-properties of prov:wasInfluencedBy can be elaborated in more detail using the Qualification Pattern. For example, the binary relation :baking prov:used :spoon can be qualified by asserting :baking prov:qualifiedUsage [ a prov:Usage; prov:entity :spoon; prov:atLocation :kitchen ] .
-
-Subproperties of prov:wasInfluencedBy may also be asserted directly without being qualified.
-
-prov:wasInfluencedBy should not be used without also using one of its subproperties. 
-</editorialNote>
-        <rdfs:comment>This property has multiple RDFS domains to suit multiple OWL Profiles. See &lt;a href=&quot;#owl-profile&quot;&gt;PROV-O OWL Profile&lt;/a&gt;.</rdfs:comment>
-        <category>qualified</category>
-        <inverse>influenced</inverse>
-        <component>agents-responsibility</component>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#Influence"/>
-        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#Influence"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#qualifiedInfluence"/>
-        <rdfs:domain>
-            <owl:Class>
-                <owl:unionOf rdf:parseType="Collection">
-                    <rdf:Description rdf:about="http://www.w3.org/ns/prov#Activity"/>
-                    <rdf:Description rdf:about="http://www.w3.org/ns/prov#Agent"/>
-                    <rdf:Description rdf:about="http://www.w3.org/ns/prov#Entity"/>
-                </owl:unionOf>
-            </owl:Class>
-        </rdfs:domain>
-        <rdfs:range>
-            <owl:Class>
-                <owl:unionOf rdf:parseType="Collection">
-                    <rdf:Description rdf:about="http://www.w3.org/ns/prov#Activity"/>
-                    <rdf:Description rdf:about="http://www.w3.org/ns/prov#Agent"/>
-                    <rdf:Description rdf:about="http://www.w3.org/ns/prov#Entity"/>
-                </owl:unionOf>
-            </owl:Class>
-        </rdfs:range>
-    </owl:ObjectProperty>
-    <owl:Axiom>
-        <definition>influencer: an identifier (o1) for an ancestor entity, activity, or agent that the former depends on;</definition>
-        <dm>http://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-influence</dm>
-        <owl:annotatedProperty rdf:resource="&rdfs;range"/>
-        <owl:annotatedSource rdf:resource="http://www.w3.org/ns/prov#wasInfluencedBy"/>
-        <owl:annotatedTarget>
-            <owl:Class>
-                <owl:unionOf rdf:parseType="Collection">
-                    <rdf:Description rdf:about="http://www.w3.org/ns/prov#Activity"/>
-                    <rdf:Description rdf:about="http://www.w3.org/ns/prov#Agent"/>
-                    <rdf:Description rdf:about="http://www.w3.org/ns/prov#Entity"/>
-                </owl:unionOf>
-            </owl:Class>
-        </owl:annotatedTarget>
-    </owl:Axiom>
-    <owl:Axiom>
-        <definition>influencee: an identifier (o2) for an entity, activity, or agent; </definition>
-        <dm>http://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-influence</dm>
-        <owl:annotatedProperty rdf:resource="&rdfs;domain"/>
-        <owl:annotatedSource rdf:resource="http://www.w3.org/ns/prov#wasInfluencedBy"/>
-        <owl:annotatedTarget>
-            <owl:Class>
-                <owl:unionOf rdf:parseType="Collection">
-                    <rdf:Description rdf:about="http://www.w3.org/ns/prov#Activity"/>
-                    <rdf:Description rdf:about="http://www.w3.org/ns/prov#Agent"/>
-                    <rdf:Description rdf:about="http://www.w3.org/ns/prov#Entity"/>
-                </owl:unionOf>
-            </owl:Class>
-        </owl:annotatedTarget>
-    </owl:Axiom>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#wasInformedBy -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#wasInformedBy">
-        <rdfs:label>wasInformedBy</rdfs:label>
-        <inverse>informed</inverse>
-        <rdfs:comment xml:lang="en">An activity a2 is dependent on or informed by another activity a1, by way of some unspecified entity that is generated by a1 and used by a2.</rdfs:comment>
-        <category>starting-point</category>
-        <component>entities-activities</component>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Activity"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Activity"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#Communication"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#qualifiedCommunication"/>
-        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/ns/prov#wasInfluencedBy"/>
-        <owl:propertyChainAxiom rdf:parseType="Collection">
-            <rdf:Description rdf:about="http://www.w3.org/ns/prov#qualifiedCommunication"/>
-            <rdf:Description rdf:about="http://www.w3.org/ns/prov#activity"/>
-        </owl:propertyChainAxiom>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#wasInvalidatedBy -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#wasInvalidatedBy">
-        <rdfs:label>wasInvalidatedBy</rdfs:label>
-        <component>entities-activities</component>
-        <inverse>invalidated</inverse>
-        <category>expanded</category>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Activity"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#Invalidation"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#qualifiedInvalidation"/>
-        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/ns/prov#wasInfluencedBy"/>
-        <owl:propertyChainAxiom rdf:parseType="Collection">
-            <rdf:Description rdf:about="http://www.w3.org/ns/prov#qualifiedInvalidation"/>
-            <rdf:Description rdf:about="http://www.w3.org/ns/prov#activity"/>
-        </owl:propertyChainAxiom>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#wasQuotedFrom -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#wasQuotedFrom">
-        <rdfs:label>wasQuotedFrom</rdfs:label>
-        <category>expanded</category>
-        <component>derivations</component>
-        <inverse>quotedAs</inverse>
-        <rdfs:comment xml:lang="en">An entity is derived from an original entity by copying, or &#39;quoting&#39;, some or all of it.</rdfs:comment>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#Quotation"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#qualifiedQuotation"/>
-        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/ns/prov#wasDerivedFrom"/>
-        <owl:propertyChainAxiom rdf:parseType="Collection">
-            <rdf:Description rdf:about="http://www.w3.org/ns/prov#qualifiedQuotation"/>
-            <rdf:Description rdf:about="http://www.w3.org/ns/prov#entity"/>
-        </owl:propertyChainAxiom>
-    </owl:ObjectProperty>
-    <owl:Axiom>
-        <rdfs:comment>Quotation is a particular case of derivation (see http://www.w3.org/TR/prov-dm/#term-quotation) in which an entity is derived from an original entity by copying, or &quot;quoting&quot;, some or all of it. </rdfs:comment>
-        <owl:annotatedProperty rdf:resource="&rdfs;subPropertyOf"/>
-        <owl:annotatedTarget rdf:resource="http://www.w3.org/ns/prov#wasDerivedFrom"/>
-        <owl:annotatedSource rdf:resource="http://www.w3.org/ns/prov#wasQuotedFrom"/>
-    </owl:Axiom>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#wasRevisionOf -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#wasRevisionOf">
-        <rdfs:label>wasRevisionOf</rdfs:label>
-        <rdfs:comment xml:lang="en">A revision is a derivation that revises an entity into a revised version.</rdfs:comment>
-        <component>derivations</component>
-        <inverse>hadRevision</inverse>
-        <category>expanded</category>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#Revision"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#qualifiedRevision"/>
-        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/ns/prov#wasDerivedFrom"/>
-        <owl:propertyChainAxiom rdf:parseType="Collection">
-            <rdf:Description rdf:about="http://www.w3.org/ns/prov#qualifiedRevision"/>
-            <rdf:Description rdf:about="http://www.w3.org/ns/prov#entity"/>
-        </owl:propertyChainAxiom>
-    </owl:ObjectProperty>
-    <owl:Axiom>
-        <rdfs:comment>Revision is a derivation (see http://www.w3.org/TR/prov-dm/#term-Revision). Moreover, according to 
-http://www.w3.org/TR/2013/REC-prov-constraints-20130430/#term-Revision 23 April 2012 &#39;wasRevisionOf is a strict sub-relation of wasDerivedFrom since two entities e2 and e1 may satisfy wasDerivedFrom(e2,e1) without being a variant of each other.&#39;</rdfs:comment>
-        <owl:annotatedProperty rdf:resource="&rdfs;subPropertyOf"/>
-        <owl:annotatedTarget rdf:resource="http://www.w3.org/ns/prov#wasDerivedFrom"/>
-        <owl:annotatedSource rdf:resource="http://www.w3.org/ns/prov#wasRevisionOf"/>
-    </owl:Axiom>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#wasStartedBy -->
-
-    <owl:ObjectProperty rdf:about="http://www.w3.org/ns/prov#wasStartedBy">
-        <rdfs:label>wasStartedBy</rdfs:label>
-        <inverse>started</inverse>
-        <category>expanded</category>
-        <component>entities-activities</component>
-        <rdfs:comment xml:lang="en">Start is when an activity is deemed to have started. A start may refer to an entity, known as trigger, that initiated the activity.</rdfs:comment>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Activity"/>
-        <rdfs:range rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#Start"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#qualifiedStart"/>
-        <rdfs:subPropertyOf rdf:resource="http://www.w3.org/ns/prov#wasInfluencedBy"/>
-        <owl:propertyChainAxiom rdf:parseType="Collection">
-            <rdf:Description rdf:about="http://www.w3.org/ns/prov#qualifiedStart"/>
-            <rdf:Description rdf:about="http://www.w3.org/ns/prov#entity"/>
-        </owl:propertyChainAxiom>
-    </owl:ObjectProperty>
-    
-
-
-    <!-- 
-    ///////////////////////////////////////////////////////////////////////////////////////
-    //
-    // Data properties
-    //
-    ///////////////////////////////////////////////////////////////////////////////////////
-     -->
-
-    
-
-
-    <!-- http://www.w3.org/ns/prov#atTime -->
-
-    <owl:DatatypeProperty rdf:about="http://www.w3.org/ns/prov#atTime">
-        <rdfs:label>atTime</rdfs:label>
-        <component>entities-activities</component>
-        <category>qualified</category>
-        <rdfs:comment xml:lang="en">The time at which an InstantaneousEvent occurred, in the form of xsd:dateTime.</rdfs:comment>
-        <rdfs:range rdf:resource="&xsd;dateTime"/>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <sharesDefinitionWith rdf:resource="http://www.w3.org/ns/prov#InstantaneousEvent"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#InstantaneousEvent"/>
-        <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#endedAtTime"/>
-        <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#generatedAtTime"/>
-        <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#invalidatedAtTime"/>
-        <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#startedAtTime"/>
-    </owl:DatatypeProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#endedAtTime -->
-
-    <owl:DatatypeProperty rdf:about="http://www.w3.org/ns/prov#endedAtTime">
-        <rdfs:label>endedAtTime</rdfs:label>
-        <component>entities-activities</component>
-        <editorialNote xml:lang="en">It is the intent that the property chain holds: (prov:qualifiedEnd o prov:atTime) rdfs:subPropertyOf prov:endedAtTime.</editorialNote>
-        <rdfs:comment xml:lang="en">The time at which an activity ended. See also prov:startedAtTime.</rdfs:comment>
-        <category>starting-point</category>
-        <rdfs:range rdf:resource="&xsd;dateTime"/>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Activity"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#End"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#atTime"/>
-    </owl:DatatypeProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#generatedAtTime -->
-
-    <owl:DatatypeProperty rdf:about="http://www.w3.org/ns/prov#generatedAtTime">
-        <rdfs:label>generatedAtTime</rdfs:label>
-        <category>expanded</category>
-        <component>entities-activities</component>
-        <editorialNote xml:lang="en">It is the intent that the property chain holds: (prov:qualifiedGeneration o prov:atTime) rdfs:subPropertyOf prov:generatedAtTime.</editorialNote>
-        <rdfs:comment xml:lang="en">The time at which an entity was completely created and is available for use.</rdfs:comment>
-        <rdfs:range rdf:resource="&xsd;dateTime"/>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#Generation"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#atTime"/>
-    </owl:DatatypeProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#invalidatedAtTime -->
-
-    <owl:DatatypeProperty rdf:about="http://www.w3.org/ns/prov#invalidatedAtTime">
-        <rdfs:label>invalidatedAtTime</rdfs:label>
-        <editorialNote xml:lang="en">It is the intent that the property chain holds: (prov:qualifiedInvalidation o prov:atTime) rdfs:subPropertyOf prov:invalidatedAtTime.</editorialNote>
-        <category>expanded</category>
-        <rdfs:comment xml:lang="en">The time at which an entity was invalidated (i.e., no longer usable).</rdfs:comment>
-        <component>entities-activities</component>
-        <rdfs:range rdf:resource="&xsd;dateTime"/>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#Invalidation"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#atTime"/>
-    </owl:DatatypeProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#startedAtTime -->
-
-    <owl:DatatypeProperty rdf:about="http://www.w3.org/ns/prov#startedAtTime">
-        <rdfs:label>startedAtTime</rdfs:label>
-        <category>starting-point</category>
-        <editorialNote xml:lang="en">It is the intent that the property chain holds: (prov:qualifiedStart o prov:atTime) rdfs:subPropertyOf prov:startedAtTime.</editorialNote>
-        <component>entities-activities</component>
-        <rdfs:comment xml:lang="en">The time at which an activity started. See also prov:endedAtTime.</rdfs:comment>
-        <rdfs:range rdf:resource="&xsd;dateTime"/>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Activity"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#Start"/>
-        <qualifiedForm rdf:resource="http://www.w3.org/ns/prov#atTime"/>
-    </owl:DatatypeProperty>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#value -->
-
-    <owl:DatatypeProperty rdf:about="http://www.w3.org/ns/prov#value">
-        <rdfs:label>value</rdfs:label>
-        <dm rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-attribute-value</dm>
-        <category>expanded</category>
-        <editorialNote>The editor&#39;s definition comes from http://www.w3.org/TR/rdf-primer/#rdfvalue</editorialNote>
-        <definition xml:lang="en">Provides a value that is a direct representation of an entity.</definition>
-        <component>entities-activities</component>
-        <editorialNote xml:lang="en">This property serves the same purpose as rdf:value, but has been reintroduced to avoid some of the definitional ambiguity in the RDF specification (specifically, &#39;may be used in describing structured values&#39;).</editorialNote>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:domain rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-    </owl:DatatypeProperty>
-    
-
-
-    <!-- 
-    ///////////////////////////////////////////////////////////////////////////////////////
-    //
-    // Classes
-    //
-    ///////////////////////////////////////////////////////////////////////////////////////
-     -->
-
-    
-
-
-    <!-- http://www.w3.org/2002/07/owl#Thing -->
-
-    <owl:Class rdf:about="&owl;Thing"/>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#Activity -->
-
-    <owl:Class rdf:about="http://www.w3.org/ns/prov#Activity">
-        <rdfs:label>Activity</rdfs:label>
-        <owl:disjointWith rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-        <constraints rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-constraints-20130430/#prov-dm-constraints-fig</constraints>
-        <dm rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-Activity</dm>
-        <n rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-n-20130430/#expression-Activity</n>
-        <component>entities-activities</component>
-        <category>starting-point</category>
-        <definition>An activity is something that occurs over a period of time and acts upon or with entities; it may include consuming, processing, transforming, modifying, relocating, using, or generating entities.</definition>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-    </owl:Class>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#ActivityInfluence -->
-
-    <owl:Class rdf:about="http://www.w3.org/ns/prov#ActivityInfluence">
-        <rdfs:label>ActivityInfluence</rdfs:label>
-        <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/prov#Influence"/>
-        <rdfs:subClassOf>
-            <owl:Restriction>
-                <owl:onProperty rdf:resource="http://www.w3.org/ns/prov#hadActivity"/>
-                <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">0</owl:maxCardinality>
-            </owl:Restriction>
-        </rdfs:subClassOf>
-        <owl:disjointWith rdf:resource="http://www.w3.org/ns/prov#EntityInfluence"/>
-        <editorsDefinition xml:lang="en">ActivitiyInfluence is the capacity of an activity to have an effect on the character, development, or behavior of another by means of generation, invalidation, communication, or other.</editorsDefinition>
-        <rdfs:comment xml:lang="en">ActivityInfluence provides additional descriptions of an Activity&#39;s binary influence upon any other kind of resource. Instances of ActivityInfluence use the prov:activity property to cite the influencing Activity.</rdfs:comment>
-        <rdfs:comment xml:lang="en">It is not recommended that the type ActivityInfluence be asserted without also asserting one of its more specific subclasses.</rdfs:comment>
-        <category>qualified</category>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:seeAlso rdf:resource="http://www.w3.org/ns/prov#activity"/>
-    </owl:Class>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#Agent -->
-
-    <owl:Class rdf:about="http://www.w3.org/ns/prov#Agent">
-        <rdfs:label>Agent</rdfs:label>
-        <owl:disjointWith rdf:resource="http://www.w3.org/ns/prov#InstantaneousEvent"/>
-        <dm rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-agent</dm>
-        <n rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-n-20130430/#expression-Agent</n>
-        <definition xml:lang="en">An agent is something that bears some form of responsibility for an activity taking place, for the existence of an entity, or for another agent&#39;s activity. </definition>
-        <category>starting-point</category>
-        <component>agents-responsibility</component>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-    </owl:Class>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#AgentInfluence -->
-
-    <owl:Class rdf:about="http://www.w3.org/ns/prov#AgentInfluence">
-        <rdfs:label>AgentInfluence</rdfs:label>
-        <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/prov#Influence"/>
-        <editorsDefinition xml:lang="en">AgentInfluence is the capacity of an agent to have an effect on the character, development, or behavior of another by means of attribution, association, delegation, or other.</editorsDefinition>
-        <rdfs:comment xml:lang="en">AgentInfluence provides additional descriptions of an Agent&#39;s binary influence upon any other kind of resource. Instances of AgentInfluence use the prov:agent property to cite the influencing Agent.</rdfs:comment>
-        <category>qualified</category>
-        <rdfs:comment xml:lang="en">It is not recommended that the type AgentInfluence be asserted without also asserting one of its more specific subclasses.</rdfs:comment>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:seeAlso rdf:resource="http://www.w3.org/ns/prov#agent"/>
-    </owl:Class>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#Association -->
-
-    <owl:Class rdf:about="http://www.w3.org/ns/prov#Association">
-        <rdfs:label>Association</rdfs:label>
-        <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/prov#AgentInfluence"/>
-        <dm rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-Association</dm>
-        <n rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-n-20130430/#expression-Association</n>
-        <component>agents-responsibility</component>
-        <rdfs:comment xml:lang="en">An instance of prov:Association provides additional descriptions about the binary prov:wasAssociatedWith relation from an prov:Activity to some prov:Agent that had some responsiblity for it. For example, :baking prov:wasAssociatedWith :baker; prov:qualifiedAssociation [ a prov:Association; prov:agent :baker; :foo :bar ].</rdfs:comment>
-        <category>qualified</category>
-        <definition xml:lang="en">An activity association is an assignment of responsibility to an agent for an activity, indicating that the agent had a role in the activity. It further allows for a plan to be specified, which is the plan intended by the agent to achieve some goals in the context of this activity.</definition>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#wasAssociatedWith"/>
-    </owl:Class>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#Attribution -->
-
-    <owl:Class rdf:about="http://www.w3.org/ns/prov#Attribution">
-        <rdfs:label>Attribution</rdfs:label>
-        <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/prov#AgentInfluence"/>
-        <constraints rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-constraints-20130430/#prov-dm-constraints-fig</constraints>
-        <dm rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-attribution</dm>
-        <n rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-n-20130430/#expression-attribution</n>
-        <rdfs:comment xml:lang="en">An instance of prov:Attribution provides additional descriptions about the binary prov:wasAttributedTo relation from an prov:Entity to some prov:Agent that had some responsible for it. For example, :cake prov:wasAttributedTo :baker; prov:qualifiedAttribution [ a prov:Attribution; prov:entity :baker; :foo :bar ].</rdfs:comment>
-        <definition xml:lang="en">Attribution is the ascribing of an entity to an agent.
-
-When an entity e is attributed to agent ag, entity e was generated by some unspecified activity that in turn was associated to agent ag. Thus, this relation is useful when the activity is not known, or irrelevant.</definition>
-        <category>qualified</category>
-        <component>agents-responsibility</component>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#wasAttributedTo"/>
-    </owl:Class>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#Bundle -->
-
-    <owl:Class rdf:about="http://www.w3.org/ns/prov#Bundle">
-        <rdfs:label>Bundle</rdfs:label>
-        <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-        <dm rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-bundle-entity</dm>
-        <n rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-n-20130430/#expression-bundle-declaration</n>
-        <category>expanded</category>
-        <definition xml:lang="en">A bundle is a named set of provenance descriptions, and is itself an Entity, so allowing provenance of provenance to be expressed.</definition>
-        <rdfs:comment xml:lang="en">Note that there are kinds of bundles (e.g. handwritten letters, audio recordings, etc.) that are not expressed in PROV-O, but can be still be described by PROV-O.</rdfs:comment>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-    </owl:Class>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#Collection -->
-
-    <owl:Class rdf:about="http://www.w3.org/ns/prov#Collection">
-        <rdfs:label>Collection</rdfs:label>
-        <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-        <dm rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-collection</dm>
-        <component>collections</component>
-        <category>expanded</category>
-        <definition xml:lang="en">A collection is an entity that provides a structure to some constituents, which are themselves entities. These constituents are said to be member of the collections.</definition>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-    </owl:Class>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#Communication -->
-
-    <owl:Class rdf:about="http://www.w3.org/ns/prov#Communication">
-        <rdfs:label>Communication</rdfs:label>
-        <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/prov#ActivityInfluence"/>
-        <constraints rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-constraints-20130430/#prov-dm-constraints-fig</constraints>
-        <dm rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-Communication</dm>
-        <n rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-n-20130430/#expression-wasInformedBy</n>
-        <component>entities-activities</component>
-        <category>qualified</category>
-        <rdfs:comment xml:lang="en">An instance of prov:Communication provides additional descriptions about the binary prov:wasInformedBy relation from an informed prov:Activity to the prov:Activity that informed it. For example, :you_jumping_off_bridge prov:wasInformedBy :everyone_else_jumping_off_bridge; prov:qualifiedCommunication [ a prov:Communication; prov:activity :everyone_else_jumping_off_bridge; :foo :bar ].</rdfs:comment>
-        <definition>Communication is the exchange of an entity by two activities, one activity using the entity generated by the other.</definition>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#wasInformedBy"/>
-    </owl:Class>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#Delegation -->
-
-    <owl:Class rdf:about="http://www.w3.org/ns/prov#Delegation">
-        <rdfs:label>Delegation</rdfs:label>
-        <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/prov#AgentInfluence"/>
-        <dm rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-delegation</dm>
-        <n rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-n-20130430/#expression-delegation</n>
-        <category>qualified</category>
-        <rdfs:comment xml:lang="en">An instance of prov:Delegation provides additional descriptions about the binary prov:actedOnBehalfOf relation from a performing prov:Agent to some prov:Agent for whom it was performed. For example, :mixing prov:wasAssociatedWith :toddler . :toddler prov:actedOnBehalfOf :mother; prov:qualifiedDelegation [ a prov:Delegation; prov:entity :mother; :foo :bar ].</rdfs:comment>
-        <definition xml:lang="en">Delegation is the assignment of authority and responsibility to an agent (by itself or by another agent) to carry out a specific activity as a delegate or representative, while the agent it acts on behalf of retains some responsibility for the outcome of the delegated work.
-
-For example, a student acted on behalf of his supervisor, who acted on behalf of the department chair, who acted on behalf of the university; all those agents are responsible in some way for the activity that took place but we do not say explicitly who bears responsibility and to what degree.</definition>
-        <component>agents-responsibility</component>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#actedOnBehalfOf"/>
-    </owl:Class>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#Derivation -->
-
-    <owl:Class rdf:about="http://www.w3.org/ns/prov#Derivation">
-        <rdfs:label>Derivation</rdfs:label>
-        <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/prov#EntityInfluence"/>
-        <constraints rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-constraints-20130430/#prov-dm-constraints-fig</constraints>
-        <dm rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-Derivation</dm>
-        <n rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-n-20130430/#Derivation-Relation</n>
-        <definition xml:lang="en">A derivation is a transformation of an entity into another, an update of an entity resulting in a new one, or the construction of a new entity based on a pre-existing entity.</definition>
-        <component>derivations</component>
-        <rdfs:comment xml:lang="en">An instance of prov:Derivation provides additional descriptions about the binary prov:wasDerivedFrom relation from some derived prov:Entity to another prov:Entity from which it was derived. For example, :chewed_bubble_gum prov:wasDerivedFrom :unwrapped_bubble_gum; prov:qualifiedDerivation [ a prov:Derivation; prov:entity :unwrapped_bubble_gum; :foo :bar ].</rdfs:comment>
-        <rdfs:comment xml:lang="en">The more specific forms of prov:Derivation (i.e., prov:Revision, prov:Quotation, prov:PrimarySource) should be asserted if they apply.</rdfs:comment>
-        <category>qualified</category>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#wasDerivedFrom"/>
-    </owl:Class>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#EmptyCollection -->
-
-    <owl:Class rdf:about="http://www.w3.org/ns/prov#EmptyCollection">
-        <rdfs:label xml:lang="en">EmptyCollection</rdfs:label>
-        <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/prov#Collection"/>
-        <category>expanded</category>
-        <component>collections</component>
-        <definition xml:lang="en">An empty collection is a collection without members.</definition>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-    </owl:Class>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#End -->
-
-    <owl:Class rdf:about="http://www.w3.org/ns/prov#End">
-        <rdfs:label>End</rdfs:label>
-        <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/prov#EntityInfluence"/>
-        <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/prov#InstantaneousEvent"/>
-        <constraints rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-constraints-20130430/#prov-dm-constraints-fig</constraints>
-        <dm rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-End</dm>
-        <n rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-n-20130430/#expression-End</n>
-        <rdfs:comment xml:lang="en">An instance of prov:End provides additional descriptions about the binary prov:wasEndedBy relation from some ended prov:Activity to an prov:Entity that ended it. For example, :ball_game prov:wasEndedBy :buzzer; prov:qualifiedEnd [ a prov:End; prov:entity :buzzer; :foo :bar; prov:atTime &#39;2012-03-09T08:05:08-05:00&#39;^^xsd:dateTime ].</rdfs:comment>
-        <category>qualified</category>
-        <definition xml:lang="en">End is when an activity is deemed to have been ended by an entity, known as trigger. The activity no longer exists after its end. Any usage, generation, or invalidation involving an activity precedes the activity&#39;s end. An end may refer to a trigger entity that terminated the activity, or to an activity, known as ender that generated the trigger.</definition>
-        <component>entities-activities</component>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#wasEndedBy"/>
-    </owl:Class>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#Entity -->
-
-    <owl:Class rdf:about="http://www.w3.org/ns/prov#Entity">
-        <rdfs:label>Entity</rdfs:label>
-        <owl:disjointWith rdf:resource="http://www.w3.org/ns/prov#InstantaneousEvent"/>
-        <constraints rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-constraints-20130430/#prov-dm-constraints-fig</constraints>
-        <dm rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-entity</dm>
-        <n rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-n-20130430/#expression-Entity</n>
-        <component>entities-activities</component>
-        <definition xml:lang="en">An entity is a physical, digital, conceptual, or other kind of thing with some fixed aspects; entities may be real or imaginary. </definition>
-        <category>starting-point</category>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-    </owl:Class>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#EntityInfluence -->
-
-    <owl:Class rdf:about="http://www.w3.org/ns/prov#EntityInfluence">
-        <rdfs:label>EntityInfluence</rdfs:label>
-        <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/prov#Influence"/>
-        <editorsDefinition xml:lang="en">EntityInfluence is the capacity of an entity to have an effect on the character, development, or behavior of another by means of usage, start, end, derivation, or other. </editorsDefinition>
-        <rdfs:comment xml:lang="en">EntityInfluence provides additional descriptions of an Entity&#39;s binary influence upon any other kind of resource. Instances of EntityInfluence use the prov:entity property to cite the influencing Entity.</rdfs:comment>
-        <rdfs:comment xml:lang="en">It is not recommended that the type EntityInfluence be asserted without also asserting one of its more specific subclasses.</rdfs:comment>
-        <category>qualified</category>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:seeAlso rdf:resource="http://www.w3.org/ns/prov#entity"/>
-    </owl:Class>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#Generation -->
-
-    <owl:Class rdf:about="http://www.w3.org/ns/prov#Generation">
-        <rdfs:label>Generation</rdfs:label>
-        <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/prov#ActivityInfluence"/>
-        <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/prov#InstantaneousEvent"/>
-        <constraints rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-constraints-20130430/#prov-dm-constraints-fig</constraints>
-        <dm rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-Generation</dm>
-        <n rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-n-20130430/#expression-Generation</n>
-        <rdfs:comment xml:lang="en">An instance of prov:Generation provides additional descriptions about the binary prov:wasGeneratedBy relation from a generated prov:Entity to the prov:Activity that generated it. For example, :cake prov:wasGeneratedBy :baking; prov:qualifiedGeneration [ a prov:Generation; prov:activity :baking; :foo :bar ].</rdfs:comment>
-        <category>qualified</category>
-        <component>entities-activities</component>
-        <definition xml:lang="en">Generation is the completion of production of a new entity by an activity. This entity did not exist before generation and becomes available for usage after this generation.</definition>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#wasGeneratedBy"/>
-    </owl:Class>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#Influence -->
-
-    <owl:Class rdf:about="http://www.w3.org/ns/prov#Influence">
-        <rdfs:label>Influence</rdfs:label>
-        <dm rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-influence</dm>
-        <n rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-n-20130430/#expression-influence</n>
-        <component>derivations</component>
-        <rdfs:comment xml:lang="en">An instance of prov:Influence provides additional descriptions about the binary prov:wasInfluencedBy relation from some influenced Activity, Entity, or Agent to the influencing Activity, Entity, or Agent. For example, :stomach_ache prov:wasInfluencedBy :spoon; prov:qualifiedInfluence [ a prov:Influence; prov:entity :spoon; :foo :bar ] . Because prov:Influence is a broad relation, the more specific relations (Communication, Delegation, End, etc.) should be used when applicable.</rdfs:comment>
-        <rdfs:comment xml:lang="en">Because prov:Influence is a broad relation, its most specific subclasses (e.g. prov:Communication, prov:Delegation, prov:End, prov:Revision, etc.) should be used when applicable.</rdfs:comment>
-        <category>qualified</category>
-        <definition xml:lang="en">Influence is the capacity of an entity, activity, or agent to have an effect on the character, development, or behavior of another by means of usage, start, end, generation, invalidation, communication, derivation, attribution, association, or delegation.</definition>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#wasInfluencedBy"/>
-    </owl:Class>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#InstantaneousEvent -->
-
-    <owl:Class rdf:about="http://www.w3.org/ns/prov#InstantaneousEvent">
-        <rdfs:label>InstantaneousEvent</rdfs:label>
-        <constraints rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-constraints-20130430/#dfn-event</constraints>
-        <component>entities-activities</component>
-        <rdfs:comment xml:lang="en">An instantaneous event, or event for short, happens in the world and marks a change in the world, in its activities and in its entities. The term &#39;event&#39; is commonly used in process algebra with a similar meaning. Events represent communications or interactions; they are assumed to be atomic and instantaneous.</rdfs:comment>
-        <definition xml:lang="en">The PROV data model is implicitly based on a notion of instantaneous events (or just events), that mark transitions in the world. Events include generation, usage, or invalidation of entities, as well as starting or ending of activities. This notion of event is not first-class in the data model, but it is useful for explaining its other concepts and its semantics.</definition>
-        <category>qualified</category>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-    </owl:Class>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#Invalidation -->
-
-    <owl:Class rdf:about="http://www.w3.org/ns/prov#Invalidation">
-        <rdfs:label>Invalidation</rdfs:label>
-        <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/prov#ActivityInfluence"/>
-        <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/prov#InstantaneousEvent"/>
-        <constraints rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-constraints-20130430/#prov-dm-constraints-fig</constraints>
-        <dm rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-Invalidation</dm>
-        <n rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-n-20130430/#expression-Invalidation</n>
-        <component>entities-activities</component>
-        <definition>Invalidation is the start of the destruction, cessation, or expiry of an existing entity by an activity. The entity is no longer available for use (or further invalidation) after invalidation. Any generation or usage of an entity precedes its invalidation.</definition>
-        <category>qualified</category>
-        <rdfs:comment xml:lang="en">An instance of prov:Invalidation provides additional descriptions about the binary prov:wasInvalidatedBy relation from an invalidated prov:Entity to the prov:Activity that invalidated it. For example, :uncracked_egg prov:wasInvalidatedBy :baking; prov:qualifiedInvalidation [ a prov:Invalidation; prov:activity :baking; :foo :bar ].</rdfs:comment>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#wasInvalidatedBy"/>
-    </owl:Class>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#Location -->
-
-    <owl:Class rdf:about="http://www.w3.org/ns/prov#Location">
-        <rdfs:label>Location</rdfs:label>
-        <dm rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-attribute-location</dm>
-        <n rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-n-20130430/#expression-attribute</n>
-        <definition xml:lang="en">A location can be an identifiable geographic place (ISO 19112), but it can also be a non-geographic place such as a directory, row, or column. As such, there are numerous ways in which location can be expressed, such as by a coordinate, address, landmark, and so forth.</definition>
-        <category>expanded</category>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:seeAlso rdf:resource="http://www.w3.org/ns/prov#atLocation"/>
-    </owl:Class>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#Organization -->
-
-    <owl:Class rdf:about="http://www.w3.org/ns/prov#Organization">
-        <rdfs:label>Organization</rdfs:label>
-        <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/prov#Agent"/>
-        <dm rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-agent</dm>
-        <n rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-n-20130430/#expression-types</n>
-        <definition>An organization is a social or legal institution such as a company, society, etc.</definition>
-        <category>expanded</category>
-        <component>agents-responsibility</component>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-    </owl:Class>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#Person -->
-
-    <owl:Class rdf:about="http://www.w3.org/ns/prov#Person">
-        <rdfs:label>Person</rdfs:label>
-        <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/prov#Agent"/>
-        <dm rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-agent</dm>
-        <n rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-n-20130430/#expression-types</n>
-        <category>expanded</category>
-        <component>agents-responsibility</component>
-        <definition xml:lang="en">Person agents are people.</definition>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-    </owl:Class>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#Plan -->
-
-    <owl:Class rdf:about="http://www.w3.org/ns/prov#Plan">
-        <rdfs:label>Plan</rdfs:label>
-        <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/prov#Entity"/>
-        <dm rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-Association</dm>
-        <n rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-n-20130430/#expression-Association</n>
-        <definition>A plan is an entity that represents a set of actions or steps intended by one or more agents to achieve some goals.</definition>
-        <category>expanded</category>
-        <rdfs:comment xml:lang="en">There exist no prescriptive requirement on the nature of plans, their representation, the actions or steps they consist of, or their intended goals. Since plans may evolve over time, it may become necessary to track their provenance, so plans themselves are entities. Representing the plan explicitly in the provenance can be useful for various tasks: for example, to validate the execution as represented in the provenance record, to manage expectation failures, or to provide explanations.</rdfs:comment>
-        <category>qualified</category>
-        <component>agents-responsibility</component>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-    </owl:Class>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#PrimarySource -->
-
-    <owl:Class rdf:about="http://www.w3.org/ns/prov#PrimarySource">
-        <rdfs:label>PrimarySource</rdfs:label>
-        <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/prov#Derivation"/>
-        <dm rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-primary-source</dm>
-        <n rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-n-20130430/#expression-original-source</n>
-        <category>qualified</category>
-        <component>derivations</component>
-        <definition xml:lang="en">A primary source for a topic refers to something produced by some agent with direct experience and knowledge about the topic, at the time of the topic&#39;s study, without benefit from hindsight.
-
-Because of the directness of primary sources, they &#39;speak for themselves&#39; in ways that cannot be captured through the filter of secondary sources. As such, it is important for secondary sources to reference those primary sources from which they were derived, so that their reliability can be investigated.
-
-A primary source relation is a particular case of derivation of secondary materials from their primary sources. It is recognized that the determination of primary sources can be up to interpretation, and should be done according to conventions accepted within the application&#39;s domain.</definition>
-        <rdfs:comment xml:lang="en">An instance of prov:PrimarySource provides additional descriptions about the binary prov:hadPrimarySource relation from some secondary prov:Entity to an earlier, primary prov:Entity. For example, :blog prov:hadPrimarySource :newsArticle; prov:qualifiedPrimarySource [ a prov:PrimarySource; prov:entity :newsArticle; :foo :bar ] .</rdfs:comment>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#hadPrimarySource"/>
-    </owl:Class>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#Quotation -->
-
-    <owl:Class rdf:about="http://www.w3.org/ns/prov#Quotation">
-        <rdfs:label>Quotation</rdfs:label>
-        <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/prov#Derivation"/>
-        <dm rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-quotation</dm>
-        <n rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-n-20130430/#expression-quotation</n>
-        <rdfs:comment xml:lang="en">An instance of prov:Quotation provides additional descriptions about the binary prov:wasQuotedFrom relation from some taken prov:Entity from an earlier, larger prov:Entity. For example, :here_is_looking_at_you_kid prov:wasQuotedFrom :casablanca_script; prov:qualifiedQuotation [ a prov:Quotation; prov:entity :casablanca_script; :foo :bar ].</rdfs:comment>
-        <component>derivations</component>
-        <category>qualified</category>
-        <definition xml:lang="en">A quotation is the repeat of (some or all of) an entity, such as text or image, by someone who may or may not be its original author. Quotation is a particular case of derivation.</definition>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#wasQuotedFrom"/>
-    </owl:Class>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#Revision -->
-
-    <owl:Class rdf:about="http://www.w3.org/ns/prov#Revision">
-        <rdfs:label>Revision</rdfs:label>
-        <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/prov#Derivation"/>
-        <dm rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-revision</dm>
-        <n rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-n-20130430/#expression-Revision</n>
-        <component>derivations</component>
-        <category>qualified</category>
-        <definition xml:lang="en">A revision is a derivation for which the resulting entity is a revised version of some original. The implication here is that the resulting entity contains substantial content from the original. Revision is a particular case of derivation.</definition>
-        <rdfs:comment xml:lang="en">An instance of prov:Revision provides additional descriptions about the binary prov:wasRevisionOf relation from some newer prov:Entity to an earlier prov:Entity. For example, :draft_2 prov:wasRevisionOf :draft_1; prov:qualifiedRevision [ a prov:Revision; prov:entity :draft_1; :foo :bar ].</rdfs:comment>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#wasRevisionOf"/>
-    </owl:Class>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#Role -->
-
-    <owl:Class rdf:about="http://www.w3.org/ns/prov#Role">
-        <rdfs:label>Role</rdfs:label>
-        <dm rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-attribute-role</dm>
-        <n rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-n-20130430/#expression-attribute</n>
-        <definition xml:lang="en">A role is the function of an entity or agent with respect to an activity, in the context of a usage, generation, invalidation, association, start, and end.</definition>
-        <category>qualified</category>
-        <component>agents-responsibility</component>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <rdfs:seeAlso rdf:resource="http://www.w3.org/ns/prov#hadRole"/>
-    </owl:Class>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#SoftwareAgent -->
-
-    <owl:Class rdf:about="http://www.w3.org/ns/prov#SoftwareAgent">
-        <rdfs:label>SoftwareAgent</rdfs:label>
-        <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/prov#Agent"/>
-        <dm rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-agent</dm>
-        <n rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-n-20130430/#expression-types</n>
-        <component>agents-responsibility</component>
-        <definition xml:lang="en">A software agent is running software.</definition>
-        <category>expanded</category>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-    </owl:Class>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#Start -->
-
-    <owl:Class rdf:about="http://www.w3.org/ns/prov#Start">
-        <rdfs:label>Start</rdfs:label>
-        <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/prov#EntityInfluence"/>
-        <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/prov#InstantaneousEvent"/>
-        <constraints rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-constraints-20130430/#prov-dm-constraints-fig</constraints>
-        <dm rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-Start</dm>
-        <n rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-n-20130430/#expression-Start</n>
-        <component>entities-activities</component>
-        <category>qualified</category>
-        <rdfs:comment xml:lang="en">An instance of prov:Start provides additional descriptions about the binary prov:wasStartedBy relation from some started prov:Activity to an prov:Entity that started it. For example, :foot_race prov:wasStartedBy :bang; prov:qualifiedStart [ a prov:Start; prov:entity :bang; :foo :bar; prov:atTime &#39;2012-03-09T08:05:08-05:00&#39;^^xsd:dateTime ] .</rdfs:comment>
-        <definition xml:lang="en">Start is when an activity is deemed to have been started by an entity, known as trigger. The activity did not exist before its start. Any usage, generation, or invalidation involving an activity follows the activity&#39;s start. A start may refer to a trigger entity that set off the activity, or to an activity, known as starter, that generated the trigger.</definition>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#wasStartedBy"/>
-    </owl:Class>
-    
-
-
-    <!-- http://www.w3.org/ns/prov#Usage -->
-
-    <owl:Class rdf:about="http://www.w3.org/ns/prov#Usage">
-        <rdfs:label>Usage</rdfs:label>
-        <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/prov#EntityInfluence"/>
-        <rdfs:subClassOf rdf:resource="http://www.w3.org/ns/prov#InstantaneousEvent"/>
-        <constraints rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-constraints-20130430/#prov-dm-constraints-fig</constraints>
-        <dm rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-dm-20130430/#term-Usage</dm>
-        <n rdf:datatype="&xsd;anyURI">http://www.w3.org/TR/2013/REC-prov-n-20130430/#expression-Usage</n>
-        <rdfs:comment xml:lang="en">An instance of prov:Usage provides additional descriptions about the binary prov:used relation from some prov:Activity to an prov:Entity that it used. For example, :keynote prov:used :podium; prov:qualifiedUsage [ a prov:Usage; prov:entity :podium; :foo :bar ].</rdfs:comment>
-        <definition xml:lang="en">Usage is the beginning of utilizing an entity by an activity. Before usage, the activity had not begun to utilize this entity and could not have been affected by the entity.</definition>
-        <category>qualified</category>
-        <component>entities-activities</component>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-        <unqualifiedForm rdf:resource="http://www.w3.org/ns/prov#used"/>
-    </owl:Class>
-    
-
-
-    <!-- 
-    ///////////////////////////////////////////////////////////////////////////////////////
-    //
-    // Individuals
-    //
-    ///////////////////////////////////////////////////////////////////////////////////////
-     -->
-
-    
-
-
-    <!-- http://www.w3.org/ns/prov#EmptyCollection -->
-
-    <owl:NamedIndividual rdf:about="http://www.w3.org/ns/prov#EmptyCollection">
-        <rdfs:label xml:lang="en">EmptyCollection</rdfs:label>
-        <category>expanded</category>
-        <component>collections</component>
-        <definition xml:lang="en">An empty collection is a collection without members.</definition>
-        <rdfs:isDefinedBy rdf:resource="http://www.w3.org/ns/prov-o#"/>
-    </owl:NamedIndividual>
-</rdf:RDF>
-
-
-
-<!-- Generated by the OWL API (version 3.1.0.20069) http://owlapi.sourceforge.net -->
-
diff --git a/taverna-robundle/src/main/resources/ontologies/ro.owl b/taverna-robundle/src/main/resources/ontologies/ro.owl
deleted file mode 100644
index c64f5ae..0000000
--- a/taverna-robundle/src/main/resources/ontologies/ro.owl
+++ /dev/null
@@ -1,218 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-   Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
--->
-<!-- Processed by Id: cwm.py,v 1.197 2007/12/13 15:38:39 syosi Exp -->
-<!--     using base file:///home/stain/stuff/src/wf4ever/ro/ro.owl-->
-
-
-<rdf:RDF xmlns="http://www.w3.org/2002/07/owl#"
-    xmlns:owl="http://www.w3.org/2002/07/owl#"
-    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
-
-    <Ontology rdf:about="http://purl.org/wf4ever/ro">
-        <rdfs:comment xml:lang="en">This ontology shows how AO and ORE ontologies can be used together to define a ResearchObject. This ontology is further customized by the wf4ever ontology.</rdfs:comment>
-        <rdfs:seeAlso rdf:resource="http://www.wf4ever-project.org/wiki/display/docs/Research+Object+Vocabulary+Specification"/>
-        <imports rdf:resource="http://purl.org/NET/dc_owl2dl/terms_od"/>
-        <imports rdf:resource="http://purl.org/ao/core/"/>
-        <imports rdf:resource="http://purl.org/wf4ever/ore-owl"/>
-        <imports rdf:resource="http://xmlns.com/foaf/0.1/"/>
-        <versionIRI rdf:resource="https://raw.github.com/wf4ever/ro/0.1/ro.owl"/>
-    </Ontology>
-
-    <Class rdf:about="http://purl.org/wf4ever/ro#AggregatedAnnotation">
-        <rdfs:comment xml:lang="en">An annotation aggregated within an ro:ResearchObject.  
-
-Instances of this class are used to annotated resources aggregated within the aggregating research object, proxies of these resources, or the research object itself. In other words, if :ro is the ro:ResearchObject this annotation has been ore:isAggregatedBy, then the annotation should have at least one ao:annotatesResource which is an ore:AggregatedResource which is ore:isAggregatedBy :ro, or the annotated resource is an ore:Proxy which ore:proxyIn :ro, or the annotated resource is :ro.
-
-It is possible for the annotation to also annotate non-aggregated resources, but as above, at least one of them needs to be part of the RO or the RO itself.
-
-As a subclass of ro:SemanticAnnotation the ao:body must point to an rdfg:Graph which contains the actual annotation. </rdfs:comment>
-        <rdfs:subClassOf rdf:resource="http://purl.org/wf4ever/ro#SemanticAnnotation"/>
-        <rdfs:subClassOf rdf:resource="http://www.openarchives.org/ore/terms/AggregatedResource"/>
-        <rdfs:subClassOf rdf:parseType="Resource">
-            <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Restriction"/>
-            <onProperty rdf:resource="http://www.openarchives.org/ore/terms/isAggregatedBy"/>
-            <someValuesFrom rdf:resource="http://purl.org/wf4ever/ro#ResearchObject"/>
-        </rdfs:subClassOf>
-        <rdfs:subClassOf rdf:parseType="Resource">
-            <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Restriction"/>
-            <onProperty rdf:resource="http://purl.org/ao/annotatesResource"/>
-            <someValuesFrom rdf:parseType="Resource">
-                <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
-                <unionOf rdf:parseType="Resource">
-                    <rdf:first rdf:resource="http://purl.org/wf4ever/ro#ResearchObject"/>
-                    <rdf:rest rdf:parseType="Resource">
-                        <rdf:first rdf:resource="http://www.openarchives.org/ore/terms/AggregatedResource"/>
-                        <rdf:rest rdf:parseType="Resource">
-                            <rdf:first rdf:resource="http://www.openarchives.org/ore/terms/Proxy"/>
-                            <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
-                        </rdf:rest>
-                    </rdf:rest>
-                </unionOf>
-            </someValuesFrom>
-        </rdfs:subClassOf>
-        <rdfs:subClassOf rdf:parseType="Resource">
-            <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Restriction"/>
-            <onProperty rdf:resource="http://purl.org/dc/terms/created"/>
-            <someValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/>
-        </rdfs:subClassOf>
-        <rdfs:subClassOf rdf:parseType="Resource">
-            <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Restriction"/>
-            <onProperty rdf:resource="http://purl.org/dc/terms/creator"/>
-            <someValuesFrom rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-        </rdfs:subClassOf>
-    </Class>
-
-    <Class rdf:about="http://purl.org/wf4ever/ro#Folder">
-        <rdfs:comment xml:lang="en">An ro:Folder is a special kind of ore:Aggregation where every ro:AggregatedResource must have a ro:FolderEntry proxy with a unique ro:entryName within that folder.
-
-Note that all resources which are aggregated within an (potentially nested) ro:Folder SHOULD also be aggregated by the same ro:ResearchObject this ro:Folder is aggregated within.
-
-Such folders can be nested and (optionally) used to organize the resources of the research object into a file-like structure. All such resources should also be aggregated by the ro:ResearchObject
-          </rdfs:comment>
-        <rdfs:subClassOf rdf:resource="http://purl.org/wf4ever/ro#Resource"/>
-        <rdfs:subClassOf rdf:resource="http://www.openarchives.org/ore/terms/Aggregation"/>
-    </Class>
-
-    <Class rdf:about="http://purl.org/wf4ever/ro#FolderEntry">
-        <rdfs:comment xml:lang="en">An ro:FolderEntry is any ore:Proxy instance that associates a resources aggregated within an ro:Folder with a ro:entryName. This name is (case-sensitive) unique within a given folder.</rdfs:comment>
-        <rdfs:subClassOf rdf:resource="http://www.openarchives.org/ore/terms/Proxy"/>
-        <equivalentClass rdf:parseType="Resource">
-            <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Restriction"/>
-            <onProperty rdf:resource="http://purl.org/wf4ever/ro#entryName"/>
-            <someValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
-        </equivalentClass>
-        <equivalentClass rdf:parseType="Resource">
-            <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Restriction"/>
-            <onProperty rdf:resource="http://www.openarchives.org/ore/terms/proxyIn"/>
-            <someValuesFrom rdf:resource="http://purl.org/wf4ever/ro#Folder"/>
-        </equivalentClass>
-        <hasKey rdf:parseType="Resource">
-            <rdf:first rdf:resource="http://www.openarchives.org/ore/terms/proxyIn"/>
-            <rdf:rest rdf:parseType="Resource">
-                <rdf:first rdf:resource="http://purl.org/wf4ever/ro#entryName"/>
-                <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
-            </rdf:rest>
-        </hasKey>
-    </Class>
-
-    <Class rdf:about="http://purl.org/wf4ever/ro#Manifest">
-        <rdfs:comment xml:lang="en">The ro:Manifest is used to describe an ro:ResearchObject. This identifies the resource for the manifest which lists all the aggregations of the research object, typically called ".ro/manifest.rdf" relative to the research object this manifest ore:describes.</rdfs:comment>
-        <rdfs:subClassOf rdf:resource="http://www.openarchives.org/ore/terms/ResourceMap"/>
-        <equivalentClass rdf:parseType="Resource">
-            <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Restriction"/>
-            <onProperty rdf:resource="http://www.openarchives.org/ore/terms/describes"/>
-            <someValuesFrom rdf:resource="http://purl.org/wf4ever/ro#ResearchObject"/>
-        </equivalentClass>
-    </Class>
-
-    <Class rdf:about="http://purl.org/wf4ever/ro#ResearchObject">
-        <rdfs:comment xml:lang="en">A research object aggregates a number of resources. A resource can be a workflow, web service, document, data item, data set, workflow run, software or a research object.</rdfs:comment>
-        <rdfs:subClassOf rdf:resource="http://www.openarchives.org/ore/terms/Aggregation"/>
-        <rdfs:subClassOf rdf:parseType="Resource">
-            <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Restriction"/>
-            <onProperty rdf:resource="http://purl.org/dc/terms/created"/>
-            <someValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/>
-        </rdfs:subClassOf>
-        <rdfs:subClassOf rdf:parseType="Resource">
-            <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Restriction"/>
-            <onProperty rdf:resource="http://purl.org/dc/terms/creator"/>
-            <someValuesFrom rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
-        </rdfs:subClassOf>
-        <equivalentClass rdf:parseType="Resource">
-            <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Restriction"/>
-            <onProperty rdf:resource="http://www.openarchives.org/ore/terms/isDescribedBy"/>
-            <someValuesFrom rdf:resource="http://purl.org/wf4ever/ro#Manifest"/>
-        </equivalentClass>
-    </Class>
-
-    <Class rdf:about="http://purl.org/wf4ever/ro#Resource">
-        <rdfs:comment xml:lang="en">An ro:Resource is an ore:AggregatedResource which ore:isAggregatedBy an ro:ResearchObject. 
-
-This specialisation requires that there exists an ore:Proxy which is ore:proxyFor this resource, and which is ore:proxyIn the same ro:ResearchObject the resource ore:isAggregatedBy. Any annotations on such a proxy will descrive the ro:Resource within that particular ro:ResearchObject, in particular dct:creator and dct:created on the proxy will specify who added the resource to the aggregation at what time.
-
-Note that annotations (ro:AggregatedAnnotation) can be added to both the ro:Resource and the ore:Proxy - depending on if the annotation is seen to be globally true (such as the provenance of how the resource was created) or locally true within the Research Object (such as the the resource playing the role of a wf4ever:Dataset).
-
-Not all resources aggregated by an ro:ResearchObject are ro:Resource instances, in particular ro:AggregatedAnnotations will also be aggregated, but will not be "true" RO resources (and thus don't need their own ore:Proxy).  
-
-Aggregated resources MAY also be organised in (potentially nested) ro:Folders to reflect a file-system like structure. Note that any such resources SHOULD also be aggregated in the "mother" ro:ResearchObject.
-</rdfs:comment>
-        <rdfs:subClassOf rdf:resource="http://www.openarchives.org/ore/terms/AggregatedResource"/>
-        <rdfs:subClassOf rdf:parseType="Resource">
-            <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Restriction"/>
-            <onProperty rdf:resource="http://www.openarchives.org/ore/terms/isAggregatedBy"/>
-            <someValuesFrom rdf:resource="http://purl.org/wf4ever/ro#ResearchObject"/>
-        </rdfs:subClassOf>
-        <rdfs:subClassOf rdf:parseType="Resource">
-            <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Restriction"/>
-            <onProperty rdf:parseType="Resource">
-                <inverseOf rdf:resource="http://www.openarchives.org/ore/terms/proxyFor"/>
-            </onProperty>
-            <someValuesFrom rdf:parseType="Resource">
-                <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Restriction"/>
-                <onProperty rdf:resource="http://www.openarchives.org/ore/terms/proxyIn"/>
-                <someValuesFrom rdf:resource="http://purl.org/wf4ever/ro#ResearchObject"/>
-            </someValuesFrom>
-        </rdfs:subClassOf>
-    </Class>
-
-    <Class rdf:about="http://purl.org/wf4ever/ro#SemanticAnnotation">
-        <rdfs:comment xml:lang="en">An ro:SemanticAnnotation is a specialisation of ao:Annotation which requires that ao:body points to an RDF Graph.
-
-This might be a Named Graph or a resource which can be resolved separately from the URI given by ao:body.
-
-This graph SHOULD mention the resources identified by ao:annotatesResource from this annotation, preferably by using their URIs as subject or object of statements.
-
-Note that this use of ao:body is distinct from ao:hasTopic, which also allows the association of a an RDF Graph with an ao:Annotation, but which also implies that this graph is the "topic" (subproperty of bookmark:hasTopic) of the annotated resource. This class does not require this interpretation, it is merely enough that the annotation body mentions the annotated resource, for instance to give it a dc:title or to relate two annotated resources.  Also note that the next version of the AO ontology (v2) might change this definition of ao:hasTopic, removing the need for this class.</rdfs:comment>
-        <rdfs:seeAlso rdf:resource="http://code.google.com/p/annotation-ontology/wiki/GraphsAnnotations"/>
-        <rdfs:seeAlso rdf:resource="http://purl.org/ao/body"/>
-        <rdfs:seeAlso rdf:resource="http://purl.org/ao/hasTopic"/>
-        <rdfs:seeAlso rdf:resource="http://www.w3.org/2001/Annotea/User/BookmarkSchema"/>
-        <rdfs:seeAlso rdf:resource="http://www.w3.org/2002/01/bookmark#hasTopic"/>
-        <rdfs:subClassOf rdf:resource="http://purl.org/ao/Annotation"/>
-        <rdfs:subClassOf rdf:parseType="Resource">
-            <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Restriction"/>
-            <allValuesFrom rdf:resource="http://www.w3.org/2004/03/trix/rdfg-1/Graph"/>
-            <onProperty rdf:resource="http://purl.org/ao/body"/>
-        </rdfs:subClassOf>
-    </Class>
-
-    <ObjectProperty rdf:about="http://purl.org/wf4ever/ro#annotatesAggregatedResource">
-        <rdfs:comment xml:lang="en">ro:annotatesAggregatedResource specifies that an ao:Annotation annotates an aggregated ro:Resource. 
-                               
-When used on an ro:AggregatedAnnotation, both the domain and range of this property must ore:isAggregatedBy the same ro:ResearchObject.  
-
-TODO: Should also ro:ResearchObject and ore:Proxy be in the range of this property, or is this subproperty even needed?
-</rdfs:comment>
-        <rdfs:domain rdf:resource="http://purl.org/ao/Annotation"/>
-        <rdfs:range rdf:resource="http://purl.org/wf4ever/ro#Resource"/>
-        <rdfs:subPropertyOf rdf:resource="http://purl.org/ao/annotatesResource"/>
-    </ObjectProperty>
-
-    <DatatypeProperty rdf:about="http://purl.org/wf4ever/ro#entryName">
-        <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
-        <rdfs:comment xml:lang="en">This functional property specifies the name of a ro:FolderEntry within an ro:Folder. 
-
-This name must be case-sensitively unique within the ro:Folder, similar to a filename in a directory.
-
-TODO: Need a functional property to specify the top level folder structure of an {{ro:ResearchObject}}?
-</rdfs:comment>
-        <rdfs:domain rdf:resource="http://purl.org/wf4ever/ro#FolderEntry"/>
-        <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
-    </DatatypeProperty>
-</rdf:RDF>
diff --git a/taverna-scufl2-schemas/src/main/resources/org/apache/taverna/scufl2/rdfxml/xsd/roevo.xsd b/taverna-scufl2-schemas/src/main/resources/org/apache/taverna/scufl2/rdfxml/xsd/roevo.xsd
index 5bb374c..f50c533 100644
--- a/taverna-scufl2-schemas/src/main/resources/org/apache/taverna/scufl2/rdfxml/xsd/roevo.xsd
+++ b/taverna-scufl2-schemas/src/main/resources/org/apache/taverna/scufl2/rdfxml/xsd/roevo.xsd
@@ -16,8 +16,14 @@
    limitations under the License.
 
 
-Derived from Research Object Evolution Ontology (roevo)
+This XML schema is derivative work from the Original Work, 
+Research Object Evolution Ontology (roevo)
 http://w3id.org/ro/roevo
+used under the terms of 
+Creative Commons Attribution 3.0 License 
+http://creativecommons.org/licenses/by/3.0
+
+Attribution for the original work:
 
   (c) 2011-2014
     Raul Palma, PSNC
@@ -26,9 +32,6 @@
     Stian Soiland-Reyes, University of Manchester
     Oscar Corcho, UPM
 
-  Creative Commons Attribution 3.0 License 
-  http://creativecommons.org/licenses/by/3.0
-
 -->
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified"
 	elementFormDefault="qualified" targetNamespace="http://purl.org/wf4ever/roevo#" 
