You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@taverna.apache.org by ia...@apache.org on 2018/11/28 11:48:31 UTC

[03/10] incubator-taverna-language git commit: Adding generated-code under Apache License

Adding generated-code under Apache License


Project: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/commit/f88ea045
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/tree/f88ea045
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/diff/f88ea045

Branch: refs/heads/master
Commit: f88ea045cf8e8bbec568266af53fe77bd96907a0
Parents: af88d33
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Wed Nov 21 11:19:18 2018 +0000
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Wed Nov 21 11:19:18 2018 +0000

----------------------------------------------------------------------
 taverna-scufl2-wfdesc/pom.xml                   |   83 --
 .../taverna/scufl2/wfdesc/ontologies/Foaf.java  |  285 ++++
 .../scufl2/wfdesc/ontologies/Prov_o.java        |  521 +++++++
 .../scufl2/wfdesc/ontologies/Roterms.java       |   53 +
 .../scufl2/wfdesc/ontologies/Wf4ever.java       |   79 ++
 .../scufl2/wfdesc/ontologies/Wfdesc.java        |  184 +++
 .../scufl2/wfdesc/ontologies/Wfprov.java        |  128 ++
 .../src/main/resources/com/xmlns/foaf/foaf.rdf  |  623 --------
 .../org/purl/wf4ever/wfdesc/.gitignore          |    1 -
 .../org/purl/wf4ever/wfdesc/roterms.ttl         |  331 -----
 .../org/purl/wf4ever/wfdesc/wf4ever.ttl         |  259 ----
 .../org/purl/wf4ever/wfdesc/wfdesc.ttl          |  373 -----
 .../org/purl/wf4ever/wfdesc/wfprov.ttl          |  227 ---
 .../src/main/resources/org/w3/prov-o.ttl        | 1328 ------------------
 14 files changed, 1250 insertions(+), 3225 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/f88ea045/taverna-scufl2-wfdesc/pom.xml
----------------------------------------------------------------------
diff --git a/taverna-scufl2-wfdesc/pom.xml b/taverna-scufl2-wfdesc/pom.xml
index b0becfc..ba09fb7 100755
--- a/taverna-scufl2-wfdesc/pom.xml
+++ b/taverna-scufl2-wfdesc/pom.xml
@@ -20,89 +20,6 @@
   <packaging>bundle</packaging>
   <name>Apache Taverna Scufl 2 wfdesc export</name>
   <description>Convert Scufl2 workflow to wfdesc structure (from Wf4Ever RO ontology)</description>
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.jena</groupId>
-        <artifactId>jena-maven-tools</artifactId>
-        <configuration>
-          <includes>
-            <include>src/main/resources/org/purl/wf4ever/wfdesc/*.ttl</include>
-            <include>src/main/resources/org/purl/wf4ever/wfdesc/*.ttl</include>
-            <include>src/main/resources/com/xmlns/foaf/foaf.rdf</include>
-            <include>src/main/resources/org/w3/prov-o.ttl</include>
-          </includes>
-          <fileOptions>
-            <source>
-              <input>default</input>
-              <package-name>org.apache.taverna.scufl2.wfdesc.ontologies</package-name>
-              <ontology>true</ontology>
-              <output>${project.build.directory}/generated-sources/jena</output>
-            </source>
-          </fileOptions>
-        </configuration>
-        <executions>
-          <execution>
-            <id>schemagen</id>
-            <goals>
-              <goal>translate</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>build-helper-maven-plugin</artifactId>
-        <version>1.10</version>
-        <executions>
-          <execution>
-            <id>add-source</id>
-            <phase>generate-sources</phase>
-            <goals>
-              <goal>add-source</goal>
-            </goals>
-            <configuration>
-              <sources>
-                <source>${project.build.directory}/generated-sources/jena</source>
-              </sources>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-    <pluginManagement>
-      <plugins>
-        <!--This plugin's configuration is used to store Eclipse m2e settings
-          only. It has no influence on the Maven build itself. -->
-        <plugin>
-          <groupId>org.eclipse.m2e</groupId>
-          <artifactId>lifecycle-mapping</artifactId>
-          <version>1.0.0</version>
-          <configuration>
-            <lifecycleMappingMetadata>
-              <pluginExecutions>
-                <pluginExecution>
-                  <pluginExecutionFilter>
-                    <groupId>org.apache.jena</groupId>
-                    <artifactId>jena-maven-tools</artifactId>
-                    <versionRange>[${jena.version},)</versionRange>
-                    <goals>
-                      <goal>translate</goal>
-                    </goals>
-                  </pluginExecutionFilter>
-                  <action>
-                    <!-- Make target/generated-source/jena -->
-                    <execute />
-                  </action>
-                </pluginExecution>
-              </pluginExecutions>
-            </lifecycleMappingMetadata>
-          </configuration>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-  </build>
   <dependencies>
 
     <dependency>

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/f88ea045/taverna-scufl2-wfdesc/src/main/java/org/apache/taverna/scufl2/wfdesc/ontologies/Foaf.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-wfdesc/src/main/java/org/apache/taverna/scufl2/wfdesc/ontologies/Foaf.java b/taverna-scufl2-wfdesc/src/main/java/org/apache/taverna/scufl2/wfdesc/ontologies/Foaf.java
new file mode 100644
index 0000000..7038ffc
--- /dev/null
+++ b/taverna-scufl2-wfdesc/src/main/java/org/apache/taverna/scufl2/wfdesc/ontologies/Foaf.java
@@ -0,0 +1,285 @@
+/*
+ * 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.scufl2.wfdesc.ontologies; 
+import org.apache.jena.rdf.model.*;
+import org.apache.jena.ontology.*;
+ 
+/**
+ * Vocabulary definitions from file:/home/stain/src/incubator-taverna-language/taverna-scufl2-wfdesc/src/main/resources/com/xmlns/foaf/foaf.rdf 
+ * @author Auto-generated by schemagen on 21 Nov 2018 10:58 
+ */
+public class Foaf {
+    /** <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://xmlns.com/foaf/0.1/";
+    
+    /** <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>Indicates an account held by this agent.</p> */
+    public static final ObjectProperty account = M_MODEL.createObjectProperty( "http://xmlns.com/foaf/0.1/account" );
+    
+    /** <p>Indicates a homepage of the service provide for this online account.</p> */
+    public static final ObjectProperty accountServiceHomepage = M_MODEL.createObjectProperty( "http://xmlns.com/foaf/0.1/accountServiceHomepage" );
+    
+    /** <p>A location that something is based near, for some broadly human notion of 
+     *  near.</p>
+     */
+    public static final ObjectProperty based_near = M_MODEL.createObjectProperty( "http://xmlns.com/foaf/0.1/based_near" );
+    
+    /** <p>A current project this person works on.</p> */
+    public static final ObjectProperty currentProject = M_MODEL.createObjectProperty( "http://xmlns.com/foaf/0.1/currentProject" );
+    
+    /** <p>A depiction of some thing.</p> */
+    public static final ObjectProperty depiction = M_MODEL.createObjectProperty( "http://xmlns.com/foaf/0.1/depiction" );
+    
+    /** <p>A thing depicted in this representation.</p> */
+    public static final ObjectProperty depicts = M_MODEL.createObjectProperty( "http://xmlns.com/foaf/0.1/depicts" );
+    
+    /** <p>An organization funding a project or person.</p> */
+    public static final ObjectProperty fundedBy = M_MODEL.createObjectProperty( "http://xmlns.com/foaf/0.1/fundedBy" );
+    
+    /** <p>Indicates an account held by this agent.</p> */
+    public static final ObjectProperty holdsAccount = M_MODEL.createObjectProperty( "http://xmlns.com/foaf/0.1/holdsAccount" );
+    
+    /** <p>A homepage for some thing.</p> */
+    public static final ObjectProperty homepage = M_MODEL.createObjectProperty( "http://xmlns.com/foaf/0.1/homepage" );
+    
+    /** <p>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).</p>
+     */
+    public static final ObjectProperty img = M_MODEL.createObjectProperty( "http://xmlns.com/foaf/0.1/img" );
+    
+    /** <p>A page about a topic of interest to this person.</p> */
+    public static final ObjectProperty interest = M_MODEL.createObjectProperty( "http://xmlns.com/foaf/0.1/interest" );
+    
+    /** <p>A person known by this person (indicating some level of reciprocated interaction 
+     *  between the parties).</p>
+     */
+    public static final ObjectProperty knows = M_MODEL.createObjectProperty( "http://xmlns.com/foaf/0.1/knows" );
+    
+    /** <p>A logo representing some thing.</p> */
+    public static final ObjectProperty logo = M_MODEL.createObjectProperty( "http://xmlns.com/foaf/0.1/logo" );
+    
+    /** <p>Something that was made by this agent.</p> */
+    public static final ObjectProperty made = M_MODEL.createObjectProperty( "http://xmlns.com/foaf/0.1/made" );
+    
+    /** <p>An agent that made this thing.</p> */
+    public static final ObjectProperty maker = M_MODEL.createObjectProperty( "http://xmlns.com/foaf/0.1/maker" );
+    
+    /** <p>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.</p>
+     */
+    public static final ObjectProperty mbox = M_MODEL.createObjectProperty( "http://xmlns.com/foaf/0.1/mbox" );
+    
+    /** <p>Indicates a member of a Group</p> */
+    public static final ObjectProperty member = M_MODEL.createObjectProperty( "http://xmlns.com/foaf/0.1/member" );
+    
+    /** <p>An OpenID for an Agent.</p> */
+    public static final ObjectProperty openid = M_MODEL.createObjectProperty( "http://xmlns.com/foaf/0.1/openid" );
+    
+    /** <p>A page or document about this thing.</p> */
+    public static final ObjectProperty page = M_MODEL.createObjectProperty( "http://xmlns.com/foaf/0.1/page" );
+    
+    /** <p>A project this person has previously worked on.</p> */
+    public static final ObjectProperty pastProject = M_MODEL.createObjectProperty( "http://xmlns.com/foaf/0.1/pastProject" );
+    
+    /** <p>A phone, specified using fully qualified tel: URI scheme (refs: http://www.w3.org/Addressing/schemes.html#tel).</p> */
+    public static final ObjectProperty phone = M_MODEL.createObjectProperty( "http://xmlns.com/foaf/0.1/phone" );
+    
+    /** <p>The primary topic of some page or document.</p> */
+    public static final ObjectProperty primaryTopic = M_MODEL.createObjectProperty( "http://xmlns.com/foaf/0.1/primaryTopic" );
+    
+    /** <p>A link to the publications of this person.</p> */
+    public static final ObjectProperty publications = M_MODEL.createObjectProperty( "http://xmlns.com/foaf/0.1/publications" );
+    
+    /** <p>A homepage of a school attended by the person.</p> */
+    public static final ObjectProperty schoolHomepage = M_MODEL.createObjectProperty( "http://xmlns.com/foaf/0.1/schoolHomepage" );
+    
+    /** <p>A theme.</p> */
+    public static final ObjectProperty theme = M_MODEL.createObjectProperty( "http://xmlns.com/foaf/0.1/theme" );
+    
+    /** <p>A derived thumbnail image.</p> */
+    public static final ObjectProperty thumbnail = M_MODEL.createObjectProperty( "http://xmlns.com/foaf/0.1/thumbnail" );
+    
+    /** <p>A tipjar document for this agent, describing means for payment and reward.</p> */
+    public static final ObjectProperty tipjar = M_MODEL.createObjectProperty( "http://xmlns.com/foaf/0.1/tipjar" );
+    
+    /** <p>A topic of some page or document.</p> */
+    public static final ObjectProperty topic = M_MODEL.createObjectProperty( "http://xmlns.com/foaf/0.1/topic" );
+    
+    /** <p>A thing of interest to this person.</p> */
+    public static final ObjectProperty topic_interest = M_MODEL.createObjectProperty( "http://xmlns.com/foaf/0.1/topic_interest" );
+    
+    /** <p>A weblog of some thing (whether person, group, company etc.).</p> */
+    public static final ObjectProperty weblog = M_MODEL.createObjectProperty( "http://xmlns.com/foaf/0.1/weblog" );
+    
+    /** <p>A work info homepage of some person; a page about their work for some organization.</p> */
+    public static final ObjectProperty workInfoHomepage = M_MODEL.createObjectProperty( "http://xmlns.com/foaf/0.1/workInfoHomepage" );
+    
+    /** <p>A workplace homepage of some person; the homepage of an organization they 
+     *  work for.</p>
+     */
+    public static final ObjectProperty workplaceHomepage = M_MODEL.createObjectProperty( "http://xmlns.com/foaf/0.1/workplaceHomepage" );
+    
+    /** <p>Indicates the name (identifier) associated with this online account.</p> */
+    public static final DatatypeProperty accountName = M_MODEL.createDatatypeProperty( "http://xmlns.com/foaf/0.1/accountName" );
+    
+    /** <p>The age in years of some agent.</p> */
+    public static final DatatypeProperty age = M_MODEL.createDatatypeProperty( "http://xmlns.com/foaf/0.1/age" );
+    
+    /** <p>An AIM chat ID</p> */
+    public static final DatatypeProperty aimChatID = M_MODEL.createDatatypeProperty( "http://xmlns.com/foaf/0.1/aimChatID" );
+    
+    /** <p>The birthday of this Agent, represented in mm-dd string form, eg. '12-31'.</p> */
+    public static final DatatypeProperty birthday = M_MODEL.createDatatypeProperty( "http://xmlns.com/foaf/0.1/birthday" );
+    
+    /** <p>A checksum for the DNA of some thing. Joke.</p> */
+    public static final DatatypeProperty dnaChecksum = M_MODEL.createDatatypeProperty( "http://xmlns.com/foaf/0.1/dnaChecksum" );
+    
+    /** <p>The family name of some person.</p> */
+    public static final DatatypeProperty familyName = M_MODEL.createDatatypeProperty( "http://xmlns.com/foaf/0.1/familyName" );
+    
+    /** <p>The family name of some person.</p> */
+    public static final DatatypeProperty family_name = M_MODEL.createDatatypeProperty( "http://xmlns.com/foaf/0.1/family_name" );
+    
+    /** <p>The first name of a person.</p> */
+    public static final DatatypeProperty firstName = M_MODEL.createDatatypeProperty( "http://xmlns.com/foaf/0.1/firstName" );
+    
+    /** <p>A textual geekcode for this person, see http://www.geekcode.com/geek.html</p> */
+    public static final DatatypeProperty geekcode = M_MODEL.createDatatypeProperty( "http://xmlns.com/foaf/0.1/geekcode" );
+    
+    /** <p>The gender of this Agent (typically but not necessarily 'male' or 'female').</p> */
+    public static final DatatypeProperty gender = M_MODEL.createDatatypeProperty( "http://xmlns.com/foaf/0.1/gender" );
+    
+    /** <p>The given name of some person.</p> */
+    public static final DatatypeProperty givenName = M_MODEL.createDatatypeProperty( "http://xmlns.com/foaf/0.1/givenName" );
+    
+    /** <p>The given name of some person.</p> */
+    public static final DatatypeProperty givenname = M_MODEL.createDatatypeProperty( "http://xmlns.com/foaf/0.1/givenname" );
+    
+    /** <p>An ICQ chat ID</p> */
+    public static final DatatypeProperty icqChatID = M_MODEL.createDatatypeProperty( "http://xmlns.com/foaf/0.1/icqChatID" );
+    
+    /** <p>A jabber ID for something.</p> */
+    public static final DatatypeProperty jabberID = M_MODEL.createDatatypeProperty( "http://xmlns.com/foaf/0.1/jabberID" );
+    
+    /** <p>The last name of a person.</p> */
+    public static final DatatypeProperty lastName = M_MODEL.createDatatypeProperty( "http://xmlns.com/foaf/0.1/lastName" );
+    
+    /** <p>The sha1sum of the URI of an Internet mailbox associated with exactly one 
+     *  owner, the first owner of the mailbox.</p>
+     */
+    public static final DatatypeProperty mbox_sha1sum = M_MODEL.createDatatypeProperty( "http://xmlns.com/foaf/0.1/mbox_sha1sum" );
+    
+    /** <p>An MSN chat ID</p> */
+    public static final DatatypeProperty msnChatID = M_MODEL.createDatatypeProperty( "http://xmlns.com/foaf/0.1/msnChatID" );
+    
+    /** <p>A Myers Briggs (MBTI) personality classification.</p> */
+    public static final DatatypeProperty myersBriggs = M_MODEL.createDatatypeProperty( "http://xmlns.com/foaf/0.1/myersBriggs" );
+    
+    /** <p>A name for some thing.</p> */
+    public static final DatatypeProperty name = M_MODEL.createDatatypeProperty( "http://xmlns.com/foaf/0.1/name" );
+    
+    /** <p>A short informal nickname characterising an agent (includes login identifiers, 
+     *  IRC and other chat nicknames).</p>
+     */
+    public static final DatatypeProperty nick = M_MODEL.createDatatypeProperty( "http://xmlns.com/foaf/0.1/nick" );
+    
+    /** <p>A .plan comment, in the tradition of finger and '.plan' files.</p> */
+    public static final DatatypeProperty plan = M_MODEL.createDatatypeProperty( "http://xmlns.com/foaf/0.1/plan" );
+    
+    /** <p>A sha1sum hash, in hex.</p> */
+    public static final DatatypeProperty sha1 = M_MODEL.createDatatypeProperty( "http://xmlns.com/foaf/0.1/sha1" );
+    
+    /** <p>A Skype ID</p> */
+    public static final DatatypeProperty skypeID = M_MODEL.createDatatypeProperty( "http://xmlns.com/foaf/0.1/skypeID" );
+    
+    /** <p>A string expressing what the user is happy for the general public (normally) 
+     *  to know about their current activity.</p>
+     */
+    public static final DatatypeProperty status = M_MODEL.createDatatypeProperty( "http://xmlns.com/foaf/0.1/status" );
+    
+    /** <p>The surname of some person.</p> */
+    public static final DatatypeProperty surname = M_MODEL.createDatatypeProperty( "http://xmlns.com/foaf/0.1/surname" );
+    
+    /** <p>Title (Mr, Mrs, Ms, Dr. etc)</p> */
+    public static final DatatypeProperty title = M_MODEL.createDatatypeProperty( "http://xmlns.com/foaf/0.1/title" );
+    
+    /** <p>A Yahoo chat ID</p> */
+    public static final DatatypeProperty yahooChatID = M_MODEL.createDatatypeProperty( "http://xmlns.com/foaf/0.1/yahooChatID" );
+    
+    /** <p>Indicates the class of individuals that are a member of a Group</p> */
+    public static final AnnotationProperty membershipClass = M_MODEL.createAnnotationProperty( "http://xmlns.com/foaf/0.1/membershipClass" );
+    
+    /** <p>A document that this thing is the primary topic of.</p> */
+    public static final OntProperty isPrimaryTopicOf = M_MODEL.createOntProperty( "http://xmlns.com/foaf/0.1/isPrimaryTopicOf" );
+    
+    /** <p>An agent (eg. person, group, software or physical artifact).</p> */
+    public static final OntClass Agent = M_MODEL.createClass( "http://xmlns.com/foaf/0.1/Agent" );
+    
+    /** <p>A document.</p> */
+    public static final OntClass Document = M_MODEL.createClass( "http://xmlns.com/foaf/0.1/Document" );
+    
+    /** <p>A class of Agents.</p> */
+    public static final OntClass Group = M_MODEL.createClass( "http://xmlns.com/foaf/0.1/Group" );
+    
+    /** <p>An image.</p> */
+    public static final OntClass Image = M_MODEL.createClass( "http://xmlns.com/foaf/0.1/Image" );
+    
+    /** <p>A foaf:LabelProperty is any RDF property with texual values that serve as 
+     *  labels.</p>
+     */
+    public static final OntClass LabelProperty = M_MODEL.createClass( "http://xmlns.com/foaf/0.1/LabelProperty" );
+    
+    /** <p>An online account.</p> */
+    public static final OntClass OnlineAccount = M_MODEL.createClass( "http://xmlns.com/foaf/0.1/OnlineAccount" );
+    
+    /** <p>An online chat account.</p> */
+    public static final OntClass OnlineChatAccount = M_MODEL.createClass( "http://xmlns.com/foaf/0.1/OnlineChatAccount" );
+    
+    /** <p>An online e-commerce account.</p> */
+    public static final OntClass OnlineEcommerceAccount = M_MODEL.createClass( "http://xmlns.com/foaf/0.1/OnlineEcommerceAccount" );
+    
+    /** <p>An online gaming account.</p> */
+    public static final OntClass OnlineGamingAccount = M_MODEL.createClass( "http://xmlns.com/foaf/0.1/OnlineGamingAccount" );
+    
+    /** <p>An organization.</p> */
+    public static final OntClass Organization = M_MODEL.createClass( "http://xmlns.com/foaf/0.1/Organization" );
+    
+    /** <p>A person.</p> */
+    public static final OntClass Person = M_MODEL.createClass( "http://xmlns.com/foaf/0.1/Person" );
+    
+    /** <p>A personal profile RDF document.</p> */
+    public static final OntClass PersonalProfileDocument = M_MODEL.createClass( "http://xmlns.com/foaf/0.1/PersonalProfileDocument" );
+    
+    /** <p>A project (a collective endeavour of some kind).</p> */
+    public static final OntClass Project = M_MODEL.createClass( "http://xmlns.com/foaf/0.1/Project" );
+    
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/f88ea045/taverna-scufl2-wfdesc/src/main/java/org/apache/taverna/scufl2/wfdesc/ontologies/Prov_o.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-wfdesc/src/main/java/org/apache/taverna/scufl2/wfdesc/ontologies/Prov_o.java b/taverna-scufl2-wfdesc/src/main/java/org/apache/taverna/scufl2/wfdesc/ontologies/Prov_o.java
new file mode 100644
index 0000000..0f2d196
--- /dev/null
+++ b/taverna-scufl2-wfdesc/src/main/java/org/apache/taverna/scufl2/wfdesc/ontologies/Prov_o.java
@@ -0,0 +1,521 @@
+/*
+ * 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.scufl2.wfdesc.ontologies; 
+import org.apache.jena.rdf.model.*;
+import org.apache.jena.ontology.*;
+ 
+/**
+ * Vocabulary definitions from file:/home/stain/src/incubator-taverna-language/taverna-scufl2-wfdesc/src/main/resources/org/w3/prov-o.ttl 
+ * @author Auto-generated by schemagen on 21 Nov 2018 10:58 
+ */
+public class Prov_o {
+    /** <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/prov#";
+    
+    /** <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 = "Recommendation version 2013-04-30";
+    
+    /** <p>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.</p>
+     */
+    public static final ObjectProperty actedOnBehalfOf = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#actedOnBehalfOf" );
+    
+    public static final ObjectProperty activity = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#activity" );
+    
+    public static final ObjectProperty agent = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#agent" );
+    
+    public static final ObjectProperty alternateOf = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#alternateOf" );
+    
+    /** <p>The Location of any resource.This property has multiple RDFS domains to suit 
+     *  multiple OWL Profiles. See &lt;a href="#owl-profile"&gt;PROV-O OWL Profile&lt;/a&gt;.</p>
+     */
+    public static final ObjectProperty atLocation = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#atLocation" );
+    
+    public static final ObjectProperty entity = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#entity" );
+    
+    public static final ObjectProperty generated = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#generated" );
+    
+    /** <p>This property has multiple RDFS domains to suit multiple OWL Profiles. See 
+     *  &lt;a href="#owl-profile"&gt;PROV-O OWL Profile&lt;/a&gt;.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).</p>
+     */
+    public static final ObjectProperty hadActivity = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#hadActivity" );
+    
+    /** <p>The _optional_ Generation involved in an Entity's Derivation.</p> */
+    public static final ObjectProperty hadGeneration = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#hadGeneration" );
+    
+    public static final ObjectProperty hadMember = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#hadMember" );
+    
+    /** <p>The _optional_ Plan adopted by an Agent in Association with some Activity. 
+     *  Plan specifications are out of the scope of this specification.</p>
+     */
+    public static final ObjectProperty hadPlan = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#hadPlan" );
+    
+    public static final ObjectProperty hadPrimarySource = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#hadPrimarySource" );
+    
+    /** <p>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 ].This property has multiple RDFS 
+     *  domains to suit multiple OWL Profiles. See &lt;a href="#owl-profile"&gt;PROV-O 
+     *  OWL Profile&lt;/a&gt;.</p>
+     */
+    public static final ObjectProperty hadRole = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#hadRole" );
+    
+    /** <p>The _optional_ Usage involved in an Entity's Derivation.</p> */
+    public static final ObjectProperty hadUsage = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#hadUsage" );
+    
+    public static final ObjectProperty influenced = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#influenced" );
+    
+    /** <p>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.</p>
+     */
+    public static final ObjectProperty influencer = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#influencer" );
+    
+    public static final ObjectProperty invalidated = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#invalidated" );
+    
+    /** <p>If this Activity prov:wasAssociatedWith Agent :ag, then it can qualify the 
+     *  Association using prov:qualifiedAssociation [ a prov:Association; prov:agent 
+     *  :ag; :foo :bar ].</p>
+     */
+    public static final ObjectProperty qualifiedAssociation = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#qualifiedAssociation" );
+    
+    /** <p>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 ].</p>
+     */
+    public static final ObjectProperty qualifiedAttribution = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#qualifiedAttribution" );
+    
+    /** <p>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 ].</p>
+     */
+    public static final ObjectProperty qualifiedCommunication = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#qualifiedCommunication" );
+    
+    /** <p>If this Agent prov:actedOnBehalfOf Agent :ag, then it can qualify how with 
+     *  prov:qualifiedResponsibility [ a prov:Responsibility; prov:agent :ag; :foo 
+     *  :bar ].</p>
+     */
+    public static final ObjectProperty qualifiedDelegation = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#qualifiedDelegation" );
+    
+    /** <p>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 ].</p>
+     */
+    public static final ObjectProperty qualifiedDerivation = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#qualifiedDerivation" );
+    
+    /** <p>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 ].</p>
+     */
+    public static final ObjectProperty qualifiedEnd = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#qualifiedEnd" );
+    
+    /** <p>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 ].</p>
+     */
+    public static final ObjectProperty qualifiedGeneration = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#qualifiedGeneration" );
+    
+    /** <p>Because prov:qualifiedInfluence is a broad relation, the more specific relations 
+     *  (qualifiedCommunication, qualifiedDelegation, qualifiedEnd, etc.) should be 
+     *  used when applicable.</p>
+     */
+    public static final ObjectProperty qualifiedInfluence = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#qualifiedInfluence" );
+    
+    /** <p>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 ].</p>
+     */
+    public static final ObjectProperty qualifiedInvalidation = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#qualifiedInvalidation" );
+    
+    /** <p>If this Entity prov:hadPrimarySource Entity :e, then it can qualify how using 
+     *  prov:qualifiedPrimarySource [ a prov:PrimarySource; prov:entity :e; :foo :bar 
+     *  ].</p>
+     */
+    public static final ObjectProperty qualifiedPrimarySource = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#qualifiedPrimarySource" );
+    
+    /** <p>If this Entity prov:wasQuotedFrom Entity :e, then it can qualify how using 
+     *  prov:qualifiedQuotation [ a prov:Quotation; prov:entity :e; :foo :bar ].</p>
+     */
+    public static final ObjectProperty qualifiedQuotation = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#qualifiedQuotation" );
+    
+    /** <p>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 ].</p>
+     */
+    public static final ObjectProperty qualifiedRevision = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#qualifiedRevision" );
+    
+    /** <p>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 ].</p>
+     */
+    public static final ObjectProperty qualifiedStart = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#qualifiedStart" );
+    
+    /** <p>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 ].</p>
+     */
+    public static final ObjectProperty qualifiedUsage = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#qualifiedUsage" );
+    
+    public static final ObjectProperty specializationOf = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#specializationOf" );
+    
+    /** <p>A prov:Entity that was used by this prov:Activity. For example, :baking prov:used 
+     *  :spoon, :egg, :oven .</p>
+     */
+    public static final ObjectProperty used = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#used" );
+    
+    /** <p>An prov:Agent that had some (unspecified) responsibility for the occurrence 
+     *  of this prov:Activity.</p>
+     */
+    public static final ObjectProperty wasAssociatedWith = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#wasAssociatedWith" );
+    
+    /** <p>Attribution is the ascribing of an entity to an agent.</p> */
+    public static final ObjectProperty wasAttributedTo = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#wasAttributedTo" );
+    
+    /** <p>The more specific subproperties of prov:wasDerivedFrom (i.e., prov:wasQuotedFrom, 
+     *  prov:wasRevisionOf, prov:hadPrimarySource) should be used when applicable.</p>
+     */
+    public static final ObjectProperty wasDerivedFrom = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#wasDerivedFrom" );
+    
+    /** <p>End is when an activity is deemed to have ended. An end may refer to an entity, 
+     *  known as trigger, that terminated the activity.</p>
+     */
+    public static final ObjectProperty wasEndedBy = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#wasEndedBy" );
+    
+    public static final ObjectProperty wasGeneratedBy = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#wasGeneratedBy" );
+    
+    /** <p>This property has multiple RDFS domains to suit multiple OWL Profiles. See 
+     *  &lt;a href="#owl-profile"&gt;PROV-O OWL Profile&lt;/a&gt;.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.</p>
+     */
+    public static final ObjectProperty wasInfluencedBy = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#wasInfluencedBy" );
+    
+    /** <p>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.</p>
+     */
+    public static final ObjectProperty wasInformedBy = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#wasInformedBy" );
+    
+    public static final ObjectProperty wasInvalidatedBy = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#wasInvalidatedBy" );
+    
+    /** <p>An entity is derived from an original entity by copying, or 'quoting', some 
+     *  or all of it.</p>
+     */
+    public static final ObjectProperty wasQuotedFrom = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#wasQuotedFrom" );
+    
+    /** <p>A revision is a derivation that revises an entity into a revised version.</p> */
+    public static final ObjectProperty wasRevisionOf = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#wasRevisionOf" );
+    
+    /** <p>Start is when an activity is deemed to have started. A start may refer to 
+     *  an entity, known as trigger, that initiated the activity.</p>
+     */
+    public static final ObjectProperty wasStartedBy = M_MODEL.createObjectProperty( "http://www.w3.org/ns/prov#wasStartedBy" );
+    
+    /** <p>The time at which an InstantaneousEvent occurred, in the form of xsd:dateTime.</p> */
+    public static final DatatypeProperty atTime = M_MODEL.createDatatypeProperty( "http://www.w3.org/ns/prov#atTime" );
+    
+    /** <p>The time at which an activity ended. See also prov:startedAtTime.</p> */
+    public static final DatatypeProperty endedAtTime = M_MODEL.createDatatypeProperty( "http://www.w3.org/ns/prov#endedAtTime" );
+    
+    /** <p>The time at which an entity was completely created and is available for use.</p> */
+    public static final DatatypeProperty generatedAtTime = M_MODEL.createDatatypeProperty( "http://www.w3.org/ns/prov#generatedAtTime" );
+    
+    /** <p>The time at which an entity was invalidated (i.e., no longer usable).</p> */
+    public static final DatatypeProperty invalidatedAtTime = M_MODEL.createDatatypeProperty( "http://www.w3.org/ns/prov#invalidatedAtTime" );
+    
+    /** <p>The time at which an activity started. See also prov:endedAtTime.</p> */
+    public static final DatatypeProperty startedAtTime = M_MODEL.createDatatypeProperty( "http://www.w3.org/ns/prov#startedAtTime" );
+    
+    public static final DatatypeProperty value = M_MODEL.createDatatypeProperty( "http://www.w3.org/ns/prov#value" );
+    
+    public static final AnnotationProperty aq = M_MODEL.createAnnotationProperty( "http://www.w3.org/ns/prov#aq" );
+    
+    /** <p>Classify prov-o terms into three categories, including 'starting-point', 'qualifed', 
+     *  and 'extended'. This classification is used by the prov-o html document to 
+     *  gently introduce prov-o terms to its users.</p>
+     */
+    public static final AnnotationProperty category = M_MODEL.createAnnotationProperty( "http://www.w3.org/ns/prov#category" );
+    
+    /** <p>Classify prov-o terms into six components according to prov-dm, including 
+     *  'agents-responsibility', 'alternate', 'annotations', 'collections', 'derivations', 
+     *  and 'entities-activities'. This classification is used so that readers of 
+     *  prov-o specification can find its correspondence with the prov-dm specification.</p>
+     */
+    public static final AnnotationProperty component = M_MODEL.createAnnotationProperty( "http://www.w3.org/ns/prov#component" );
+    
+    /** <p>A reference to the principal section of the PROV-CONSTRAINTS document that 
+     *  describes this concept.</p>
+     */
+    public static final AnnotationProperty constraints = M_MODEL.createAnnotationProperty( "http://www.w3.org/ns/prov#constraints" );
+    
+    /** <p>A definition quoted from PROV-DM or PROV-CONSTRAINTS that describes the concept 
+     *  expressed with this OWL term.</p>
+     */
+    public static final AnnotationProperty definition = M_MODEL.createAnnotationProperty( "http://www.w3.org/ns/prov#definition" );
+    
+    /** <p>A reference to the principal section of the PROV-DM document that describes 
+     *  this concept.</p>
+     */
+    public static final AnnotationProperty dm = M_MODEL.createAnnotationProperty( "http://www.w3.org/ns/prov#dm" );
+    
+    /** <p>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.</p>
+     */
+    public static final AnnotationProperty editorialNote = M_MODEL.createAnnotationProperty( "http://www.w3.org/ns/prov#editorialNote" );
+    
+    /** <p>When the prov-o term does not have a definition drawn from prov-dm, and the 
+     *  prov-o editor provides one.</p>
+     */
+    public static final AnnotationProperty editorsDefinition = M_MODEL.createAnnotationProperty( "http://www.w3.org/ns/prov#editorsDefinition" );
+    
+    /** <p>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.</p>
+     */
+    public static final AnnotationProperty inverse = M_MODEL.createAnnotationProperty( "http://www.w3.org/ns/prov#inverse" );
+    
+    /** <p>A reference to the principal section of the PROV-DM document that describes 
+     *  this concept.</p>
+     */
+    public static final AnnotationProperty n = M_MODEL.createAnnotationProperty( "http://www.w3.org/ns/prov#n" );
+    
+    /** <p>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.</p>
+     */
+    public static final AnnotationProperty order = M_MODEL.createAnnotationProperty( "http://www.w3.org/ns/prov#order" );
+    
+    /** <p>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.</p>
+     */
+    public static final AnnotationProperty qualifiedForm = M_MODEL.createAnnotationProperty( "http://www.w3.org/ns/prov#qualifiedForm" );
+    
+    public static final AnnotationProperty sharesDefinitionWith = M_MODEL.createAnnotationProperty( "http://www.w3.org/ns/prov#sharesDefinitionWith" );
+    
+    public static final AnnotationProperty todo = M_MODEL.createAnnotationProperty( "http://www.w3.org/ns/prov#todo" );
+    
+    /** <p>Classes and properties used to qualify relationships are annotated with prov:unqualifiedForm 
+     *  to indicate the property used to assert an unqualified provenance relation.</p>
+     */
+    public static final AnnotationProperty unqualifiedForm = M_MODEL.createAnnotationProperty( "http://www.w3.org/ns/prov#unqualifiedForm" );
+    
+    public static final OntClass Activity = M_MODEL.createClass( "http://www.w3.org/ns/prov#Activity" );
+    
+    /** <p>It is not recommended that the type ActivityInfluence be asserted without 
+     *  also asserting one of its more specific subclasses.ActivityInfluence provides 
+     *  additional descriptions of an Activity's binary influence upon any other kind 
+     *  of resource. Instances of ActivityInfluence use the prov:activity property 
+     *  to cite the influencing Activity.</p>
+     */
+    public static final OntClass ActivityInfluence = M_MODEL.createClass( "http://www.w3.org/ns/prov#ActivityInfluence" );
+    
+    public static final OntClass Agent = M_MODEL.createClass( "http://www.w3.org/ns/prov#Agent" );
+    
+    /** <p>It is not recommended that the type AgentInfluence be asserted without also 
+     *  asserting one of its more specific subclasses.AgentInfluence provides additional 
+     *  descriptions of an Agent's binary influence upon any other kind of resource. 
+     *  Instances of AgentInfluence use the prov:agent property to cite the influencing 
+     *  Agent.</p>
+     */
+    public static final OntClass AgentInfluence = M_MODEL.createClass( "http://www.w3.org/ns/prov#AgentInfluence" );
+    
+    /** <p>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 ].</p>
+     */
+    public static final OntClass Association = M_MODEL.createClass( "http://www.w3.org/ns/prov#Association" );
+    
+    /** <p>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 ].</p>
+     */
+    public static final OntClass Attribution = M_MODEL.createClass( "http://www.w3.org/ns/prov#Attribution" );
+    
+    /** <p>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.</p>
+     */
+    public static final OntClass Bundle = M_MODEL.createClass( "http://www.w3.org/ns/prov#Bundle" );
+    
+    public static final OntClass Collection = M_MODEL.createClass( "http://www.w3.org/ns/prov#Collection" );
+    
+    /** <p>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 ].</p>
+     */
+    public static final OntClass Communication = M_MODEL.createClass( "http://www.w3.org/ns/prov#Communication" );
+    
+    /** <p>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 ].</p>
+     */
+    public static final OntClass Delegation = M_MODEL.createClass( "http://www.w3.org/ns/prov#Delegation" );
+    
+    /** <p>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 ].The more specific forms of prov:Derivation 
+     *  (i.e., prov:Revision, prov:Quotation, prov:PrimarySource) should be asserted 
+     *  if they apply.</p>
+     */
+    public static final OntClass Derivation = M_MODEL.createClass( "http://www.w3.org/ns/prov#Derivation" );
+    
+    public static final OntClass EmptyCollection = M_MODEL.createClass( "http://www.w3.org/ns/prov#EmptyCollection" );
+    
+    /** <p>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 '2012-03-09T08:05:08-05:00'^^xsd:dateTime 
+     *  ].</p>
+     */
+    public static final OntClass End = M_MODEL.createClass( "http://www.w3.org/ns/prov#End" );
+    
+    public static final OntClass Entity = M_MODEL.createClass( "http://www.w3.org/ns/prov#Entity" );
+    
+    /** <p>It is not recommended that the type EntityInfluence be asserted without also 
+     *  asserting one of its more specific subclasses.EntityInfluence provides additional 
+     *  descriptions of an Entity's binary influence upon any other kind of resource. 
+     *  Instances of EntityInfluence use the prov:entity property to cite the influencing 
+     *  Entity.</p>
+     */
+    public static final OntClass EntityInfluence = M_MODEL.createClass( "http://www.w3.org/ns/prov#EntityInfluence" );
+    
+    /** <p>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 ].</p>
+     */
+    public static final OntClass Generation = M_MODEL.createClass( "http://www.w3.org/ns/prov#Generation" );
+    
+    /** <p>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.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.</p>
+     */
+    public static final OntClass Influence = M_MODEL.createClass( "http://www.w3.org/ns/prov#Influence" );
+    
+    /** <p>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 'event' 
+     *  is commonly used in process algebra with a similar meaning. Events represent 
+     *  communications or interactions; they are assumed to be atomic and instantaneous.</p>
+     */
+    public static final OntClass InstantaneousEvent = M_MODEL.createClass( "http://www.w3.org/ns/prov#InstantaneousEvent" );
+    
+    /** <p>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 ].</p>
+     */
+    public static final OntClass Invalidation = M_MODEL.createClass( "http://www.w3.org/ns/prov#Invalidation" );
+    
+    public static final OntClass Location = M_MODEL.createClass( "http://www.w3.org/ns/prov#Location" );
+    
+    public static final OntClass Organization = M_MODEL.createClass( "http://www.w3.org/ns/prov#Organization" );
+    
+    public static final OntClass Person = M_MODEL.createClass( "http://www.w3.org/ns/prov#Person" );
+    
+    /** <p>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.</p>
+     */
+    public static final OntClass Plan = M_MODEL.createClass( "http://www.w3.org/ns/prov#Plan" );
+    
+    /** <p>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 ] .</p>
+     */
+    public static final OntClass PrimarySource = M_MODEL.createClass( "http://www.w3.org/ns/prov#PrimarySource" );
+    
+    /** <p>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 ].</p>
+     */
+    public static final OntClass Quotation = M_MODEL.createClass( "http://www.w3.org/ns/prov#Quotation" );
+    
+    /** <p>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 ].</p>
+     */
+    public static final OntClass Revision = M_MODEL.createClass( "http://www.w3.org/ns/prov#Revision" );
+    
+    public static final OntClass Role = M_MODEL.createClass( "http://www.w3.org/ns/prov#Role" );
+    
+    public static final OntClass SoftwareAgent = M_MODEL.createClass( "http://www.w3.org/ns/prov#SoftwareAgent" );
+    
+    /** <p>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 '2012-03-09T08:05:08-05:00'^^xsd:dateTime 
+     *  ] .</p>
+     */
+    public static final OntClass Start = M_MODEL.createClass( "http://www.w3.org/ns/prov#Start" );
+    
+    /** <p>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 ].</p>
+     */
+    public static final OntClass Usage = M_MODEL.createClass( "http://www.w3.org/ns/prov#Usage" );
+    
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/f88ea045/taverna-scufl2-wfdesc/src/main/java/org/apache/taverna/scufl2/wfdesc/ontologies/Roterms.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-wfdesc/src/main/java/org/apache/taverna/scufl2/wfdesc/ontologies/Roterms.java b/taverna-scufl2-wfdesc/src/main/java/org/apache/taverna/scufl2/wfdesc/ontologies/Roterms.java
new file mode 100644
index 0000000..bce8c22
--- /dev/null
+++ b/taverna-scufl2-wfdesc/src/main/java/org/apache/taverna/scufl2/wfdesc/ontologies/Roterms.java
@@ -0,0 +1,53 @@
+/*
+ * 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.scufl2.wfdesc.ontologies; 
+import org.apache.jena.rdf.model.*;
+import org.apache.jena.ontology.*;
+ 
+/**
+ * Vocabulary definitions from file:/home/stain/src/incubator-taverna-language/taverna-scufl2-wfdesc/src/main/resources/org/purl/wf4ever/wfdesc/roterms.ttl 
+ * @author Auto-generated by schemagen on 21 Nov 2018 10:58 
+ */
+public class Roterms {
+    /** <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/roterms";
+    
+    /** <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 = "0.1.0";
+    
+    /** <p>The resource requires the given software to function. This property has no 
+     *  particular requirements on how to specify the software, it might be a general 
+     *  requirement (Linux), or a particular software installation (python-minimal 
+     *  2.6.5-0ubuntu1).</p>
+     */
+    public static final ObjectProperty requiresSoftware = M_MODEL.createObjectProperty( "http://purl.org/wf4ever/roterms#requiresSoftware" );
+    
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/f88ea045/taverna-scufl2-wfdesc/src/main/java/org/apache/taverna/scufl2/wfdesc/ontologies/Wf4ever.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-wfdesc/src/main/java/org/apache/taverna/scufl2/wfdesc/ontologies/Wf4ever.java b/taverna-scufl2-wfdesc/src/main/java/org/apache/taverna/scufl2/wfdesc/ontologies/Wf4ever.java
new file mode 100644
index 0000000..9c35e01
--- /dev/null
+++ b/taverna-scufl2-wfdesc/src/main/java/org/apache/taverna/scufl2/wfdesc/ontologies/Wf4ever.java
@@ -0,0 +1,79 @@
+/* CVS $Id: $ */
+package org.apache.taverna.scufl2.wfdesc.ontologies; 
+import org.apache.jena.rdf.model.*;
+import org.apache.jena.ontology.*;
+ 
+/**
+ * Vocabulary definitions from file:/home/stain/src/incubator-taverna-language/taverna-scufl2-wfdesc/src/main/resources/org/purl/wf4ever/wfdesc/wf4ever.ttl 
+ * @author Auto-generated by schemagen on 21 Nov 2018 10:58 
+ */
+public class Wf4ever {
+    /** <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/wf4ever#";
+    
+    /** <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 DatatypeProperty command = M_MODEL.createDatatypeProperty( "http://purl.org/wf4ever/wf4ever#command" );
+    
+    /** <p>The root of the service. This is not necessarily the 'base' of the service, 
+     *  but should more predictably be accessible for HTTP HEAD. Example: if the REST 
+     *  service template is &lt;http://kronos.ifs.tuwien.ac.at:8080/fex/featureExtractionREST?voucher={voucher}&amp;music={mp3Base64}&gt; 
+     *  then the wf4ever:rootURI is &lt;http://kronos.ifs.tuwien.ac.at:8080/&gt;.</p>
+     */
+    public static final DatatypeProperty rootURI = M_MODEL.createDatatypeProperty( "http://purl.org/wf4ever/wf4ever#rootURI" );
+    
+    public static final DatatypeProperty script = M_MODEL.createDatatypeProperty( "http://purl.org/wf4ever/wf4ever#script" );
+    
+    public static final DatatypeProperty serviceURI = M_MODEL.createDatatypeProperty( "http://purl.org/wf4ever/wf4ever#serviceURI" );
+    
+    public static final DatatypeProperty wsdlOperationName = M_MODEL.createDatatypeProperty( "http://purl.org/wf4ever/wf4ever#wsdlOperationName" );
+    
+    public static final DatatypeProperty wsdlPortName = M_MODEL.createDatatypeProperty( "http://purl.org/wf4ever/wf4ever#wsdlPortName" );
+    
+    public static final DatatypeProperty wsdlURI = M_MODEL.createDatatypeProperty( "http://purl.org/wf4ever/wf4ever#wsdlURI" );
+    
+    public static final OntClass BeanshellScript = M_MODEL.createClass( "http://purl.org/wf4ever/wf4ever#BeanshellScript" );
+    
+    public static final OntClass CommandLineTool = M_MODEL.createClass( "http://purl.org/wf4ever/wf4ever#CommandLineTool" );
+    
+    public static final OntClass Dataset = M_MODEL.createClass( "http://purl.org/wf4ever/wf4ever#Dataset" );
+    
+    public static final OntClass Document = M_MODEL.createClass( "http://purl.org/wf4ever/wf4ever#Document" );
+    
+    public static final OntClass File = M_MODEL.createClass( "http://purl.org/wf4ever/wf4ever#File" );
+    
+    public static final OntClass Image = M_MODEL.createClass( "http://purl.org/wf4ever/wf4ever#Image" );
+    
+    /** <p>A RESTful web service</p> */
+    public static final OntClass RESTService = M_MODEL.createClass( "http://purl.org/wf4ever/wf4ever#RESTService" );
+    
+    public static final OntClass RScript = M_MODEL.createClass( "http://purl.org/wf4ever/wf4ever#RScript" );
+    
+    /** <p>A SOAP service is typically described in a WSDL 1.1 or WSDL 2.0 TODO: Do we 
+     *  need to distinguish between WSDL and SOAP? WSDL 1.1 and WSDL 2.0? RPC/Encoded 
+     *  vs.Wrapped Document/Literal?</p>
+     */
+    public static final OntClass SOAPService = M_MODEL.createClass( "http://purl.org/wf4ever/wf4ever#SOAPService" );
+    
+    public static final OntClass Script = M_MODEL.createClass( "http://purl.org/wf4ever/wf4ever#Script" );
+    
+    /** <p>WebServiceProcess is a wfdesc:Process description, the enactment of which 
+     *  gives rise to a web service call.</p>
+     */
+    public static final OntClass WebService = M_MODEL.createClass( "http://purl.org/wf4ever/wf4ever#WebService" );
+    
+    /** <p>A workflow research object is a research object that contains at least one 
+     *  workflow description.</p>
+     */
+    public static final OntClass WorkflowResearchObject = M_MODEL.createClass( "http://purl.org/wf4ever/wf4ever#WorkflowResearchObject" );
+    
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/f88ea045/taverna-scufl2-wfdesc/src/main/java/org/apache/taverna/scufl2/wfdesc/ontologies/Wfdesc.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-wfdesc/src/main/java/org/apache/taverna/scufl2/wfdesc/ontologies/Wfdesc.java b/taverna-scufl2-wfdesc/src/main/java/org/apache/taverna/scufl2/wfdesc/ontologies/Wfdesc.java
new file mode 100644
index 0000000..9f8576d
--- /dev/null
+++ b/taverna-scufl2-wfdesc/src/main/java/org/apache/taverna/scufl2/wfdesc/ontologies/Wfdesc.java
@@ -0,0 +1,184 @@
+/*
+ * 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.scufl2.wfdesc.ontologies; 
+import org.apache.jena.rdf.model.*;
+import org.apache.jena.ontology.*;
+ 
+/**
+ * Vocabulary definitions from file:/home/stain/src/incubator-taverna-language/taverna-scufl2-wfdesc/src/main/resources/org/purl/wf4ever/wfdesc/wfdesc.ttl 
+ * @author Auto-generated by schemagen on 21 Nov 2018 10:58 
+ */
+public class Wfdesc {
+    /** <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/wfdesc#";
+    
+    /** <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>This property associates a wfdesc:Parameter with an wfdesc:Artifact which 
+     *  can describe the artifact which would be used/generated on execution of the 
+     *  workflow.</p>
+     */
+    public static final ObjectProperty hasArtifact = M_MODEL.createObjectProperty( "http://purl.org/wf4ever/wfdesc#hasArtifact" );
+    
+    /** <p>This property is used to specify the wfdesc:DataLink instances of a given 
+     *  wfdesc:Workflow.</p>
+     */
+    public static final ObjectProperty hasDataLink = M_MODEL.createObjectProperty( "http://purl.org/wf4ever/wfdesc#hasDataLink" );
+    
+    /** <p>This object property is used to specify the wfdesc:Input parameter of a given 
+     *  wfdesc:Process.</p>
+     */
+    public static final ObjectProperty hasInput = M_MODEL.createObjectProperty( "http://purl.org/wf4ever/wfdesc#hasInput" );
+    
+    /** <p>This object property is used to specify the wfdesc:Output parameter of a given 
+     *  wfdesc:Process.</p>
+     */
+    public static final ObjectProperty hasOutput = M_MODEL.createObjectProperty( "http://purl.org/wf4ever/wfdesc#hasOutput" );
+    
+    /** <p>This property is used to specify the wfdesc:Input parameter that acts as a 
+     *  sink from a given wfdesc:DataLink, consuming data from the link.</p>
+     */
+    public static final ObjectProperty hasSink = M_MODEL.createObjectProperty( "http://purl.org/wf4ever/wfdesc#hasSink" );
+    
+    /** <p>This property is used to specify the wfdesc:Output parameter that acts as 
+     *  a source to a given wfdesc:DataLink, providing data into the link.</p>
+     */
+    public static final ObjectProperty hasSource = M_MODEL.createObjectProperty( "http://purl.org/wf4ever/wfdesc#hasSource" );
+    
+    /** <p>This object property is used to specify that the given workflow contains the 
+     *  given process as part of its definition. Although not a requirement, such 
+     *  sub processes should have wfdesc:DataLink within the containing workflow connecting 
+     *  their parameters with parameters of the containing workflow, or with parameters 
+     *  other contained wfdesc:Process instances. A specialialisation of sub process 
+     *  is wfdesc:hasSubWorkflow where the sub process is a nested wfdesc:Workflow.</p>
+     */
+    public static final ObjectProperty hasSubProcess = M_MODEL.createObjectProperty( "http://purl.org/wf4ever/wfdesc#hasSubProcess" );
+    
+    /** <p>This object property is used to associate a wfdesc:Workflow description to 
+     *  another wfdesc:Workflow, specifying that the first workflow has the given 
+     *  sub-workflow as a contained process. This is a specialisation of wfdesc:hasSubProcess.</p>
+     */
+    public static final ObjectProperty hasSubWorkflow = M_MODEL.createObjectProperty( "http://purl.org/wf4ever/wfdesc#hasSubWorkflow" );
+    
+    /** <p>wfdesc:Artifact is used to provide information about a class of artifacts. 
+     *  For example, it can be used to specify the datatype of a dataset or the structure 
+     *  of a document. An wfdesc:Artifact is associated with a wfdesc:Parameter using 
+     *  wfdesc:hasArtifact. The distinction between a parameter and artifact is that 
+     *  the parameter can be customized to describe the particular role the artifact 
+     *  plays with regards to the process (and can be linked using wfdesc:DataLink) 
+     *  - while the wfdesc:Artifact can describe the syntactic and semantic datatype.</p>
+     */
+    public static final OntClass Artifact = M_MODEL.createClass( "http://purl.org/wf4ever/wfdesc#Artifact" );
+    
+    /** <p>wfdesc:DataLink is used to represent data dependencies between wfdesc:Process 
+     *  descriptions. It means that the artifact generated at an wfdesc:Output (identified 
+     *  using wfdesc:hasSource) will be used by a wfdescInput (identified using wfdesc:hasSink). 
+     *  The wfdesc:Processes that owns the wfdesc:Parameter instances which are the 
+     *  source and sink of a wfdesc:DataLink must be wfdesc:hasSubProcess of a the 
+     *  same wfdesc:Workflow which wfdesc:hasDataLink the data link, or be be parameters 
+     *  of that same workflow. Thus links can only be made within a wfdesc:Workflow 
+     *  - although ports owned by the workflow itself appear both inside and outside 
+     *  the workflow (in opposite roles).</p>
+     */
+    public static final OntClass DataLink = M_MODEL.createClass( "http://purl.org/wf4ever/wfdesc#DataLink" );
+    
+    public static final OntClass Description = M_MODEL.createClass( "http://purl.org/wf4ever/wfdesc#Description" );
+    
+    /** <p>wfdesc:Input represents an input parameter to a wfdesc:Process. This can be 
+     *  compared to a function parameter, command line argument, files read, or parameter 
+     *  set by a user interface. It is out of scope of wfdesc to define the nature 
+     *  or classification of the parameter, such as giving it a name, position or 
+     *  data type. This can be done with subclasses and/or subproperties.</p>
+     */
+    public static final OntClass Input = M_MODEL.createClass( "http://purl.org/wf4ever/wfdesc#Input" );
+    
+    /** <p>wfdesc:Output represents an output parameter from a wfdesc:Process. This can 
+     *  be compared to functional return values, stdout/stdin, files written, or results 
+     *  shown in a user interface. It is out of scope of wfdesc to define the nature 
+     *  or classification of the parameter, such as giving it a name, position or 
+     *  data type. This can be done with subclasses and/or subproperties.</p>
+     */
+    public static final OntClass Output = M_MODEL.createClass( "http://purl.org/wf4ever/wfdesc#Output" );
+    
+    /** <p>This class represent a parameter of a wfdesc:Process. A wfdesc:Parameter must 
+     *  be a wfdesc:Input, a wfdesc:Output, or both. A parameter is both an wfdesc:Input 
+     *  and wfdesc:Output when it is used on both sides of a subworkflow - see wfdesc:Workflow 
+     *  and wfdesc:DataLink for details.</p>
+     */
+    public static final OntClass Parameter = M_MODEL.createClass( "http://purl.org/wf4ever/wfdesc#Parameter" );
+    
+    /** <p>A wfdesc:Process is used to describe a class of actions that when enacted 
+     *  give rise to processes. A process can have 0 or more wfdesc:Parameter instances 
+     *  associated using wfdesc:hasInput and wfdesc:hasOutput, signifying what kind 
+     *  of parameters the process will require and return. It is out of scope for 
+     *  wfdesc to classify or specify the nature of the process, this should be done 
+     *  by subclassing and additional subproperties, for instance ex:perlScript or 
+     *  ex:restServiceURI</p>
+     */
+    public static final OntClass Process = M_MODEL.createClass( "http://purl.org/wf4ever/wfdesc#Process" );
+    
+    /** <p>A wfdesc:Workflow is a directed graph in which the nodes are wfdesc:Process 
+     *  instances and the edges (wfdesc:DataLink instances) represent data dependencies 
+     *  between the constituent wfdesc:Process descriptions. A wfdesc:Workflow defines 
+     *  associated wfdesc:Process using wfdesc:hasSubProcess. A specialisation of 
+     *  this property is wfdesc:hasSubWorkflow, signifying that the process is a wfdesc:Workflow 
+     *  itself, which is further described in a similar fashion. As a subclass of 
+     *  wfdesc:Process a wfdesc:Workflow can also define wfdesc:hasInput/wfdesc:hasOutput 
+     *  parameters - these would be inputs taken at workflow execution time, and final 
+     *  outputs of the workflow. (Note: Not all dataflow systems have this concept 
+     *  of workflow parameters) wfdesc:Parameter descriptions are linked using wfdesc:DataLink 
+     *  descriptions associated with the wfdesc:Workflow using wfdesc:hasDataLink. 
+     *  A wfdesc:Parameter defined with wfdesc:hasInput on a wfdesc:Workflow is considered 
+     *  an wfdesc:Input "outside" the workflow (ie. if it is a subworkflow), but an 
+     *  wfdesc:Output "inside" the workflow (where it can be connected to a wfdesc:Input 
+     *  of a wfdesc:Process). Thus such parameters can be linked "through" the workflow 
+     *  without having a "mirrored" port inside. Example: ## @prefix wfdesc: &lt;http://purl.org/wf4ever/wfdesc#&gt; 
+     *  . :outerWorkflow a wfdesc:Workflow ; wfdesc:hasSubWorkflow :innerWorkflow 
+     *  ; wfdesc:hasSubProcess :procA, :procC . :procA a wfdesc:Process ; wfdesc:hasOutput 
+     *  :param1 . :procC a wfdesc:Process ; wfdesc:hasInput :param2 ; wfdesc:hasOutput 
+     *  :param3 . :innerWorkflow a wfdesc:Workflow ; wfdesc:hasInput :param4 ; wfdesc:hasOutput 
+     *  :param5 ; wfdesc:hasProcess :procB . :procB a wfdesc:Process ; wfdesc:hasInput 
+     *  :param6 ; wfdesc:hasOutput :param7 . :innerWorkflow wfdesc:hasDataLink [ wfdesc:hasSource 
+     *  :param4; wfdesc:hasSink :param6 ], [ wfdesc:hasSource :param7; wfdesc:hasSink 
+     *  :param5 ] . :outerWorkflow wfdesc:hasDataLink [ wfdesc:hasSource :param1; 
+     *  wfdesc:hasSink :param4 ], [ wfdesc:hasSource :param5; wfdesc:hasSink :param2 
+     *  ] . ## In this example :param1 is the output of :procA. :param1 is the source 
+     *  in a datalink that goes to the input :param4 of the :innerWorkflow. :param4 
+     *  is however also the source of an inner datalink, going to input :param6 of 
+     *  the nested :procB. From this :param4 is both an wfdesc:Input and wfdesc:Output 
+     *  (which is why these two classes are not disjoint)</p>
+     */
+    public static final OntClass Workflow = M_MODEL.createClass( "http://purl.org/wf4ever/wfdesc#Workflow" );
+    
+    /** <p>A wfdesc:WorkflowInstance is a specialisation of a wfdesc:Workflow description 
+     *  which defines all data/parameters/settings that are required to form a wfprov:WorkflowRun.</p>
+     */
+    public static final OntClass WorkflowInstance = M_MODEL.createClass( "http://purl.org/wf4ever/wfdesc#WorkflowInstance" );
+    
+}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/f88ea045/taverna-scufl2-wfdesc/src/main/java/org/apache/taverna/scufl2/wfdesc/ontologies/Wfprov.java
----------------------------------------------------------------------
diff --git a/taverna-scufl2-wfdesc/src/main/java/org/apache/taverna/scufl2/wfdesc/ontologies/Wfprov.java b/taverna-scufl2-wfdesc/src/main/java/org/apache/taverna/scufl2/wfdesc/ontologies/Wfprov.java
new file mode 100644
index 0000000..8409f0e
--- /dev/null
+++ b/taverna-scufl2-wfdesc/src/main/java/org/apache/taverna/scufl2/wfdesc/ontologies/Wfprov.java
@@ -0,0 +1,128 @@
+/*
+ * 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 work (Java class) is a derivative from an original OWL ontology:
+ * 
+ *	  wfprov ontology
+ *	  https://w3id.org/ro/wfprov
+ *	  Wf4Ever Research Object Model 1.0 
+ *	  https://w3id.org/ro/
+ *	  
+ *	  (c) 2011-2014 
+ *	    Stian Soiland-Reyes, University of Manchester
+ *	    Sean Bechhofer, University of Manchester
+ *	    Khalid Belhajjame, University of Manchester
+ *	    Graham Klyne, University of Oxford
+ *	    Daniel Garijo, UPM
+ *	    Oscar Corcho, UPM
+ *	    Esteban GarcĂ­a Cuesta, iSOCO
+ *	    Raul Palma, PSNC
+ *	 
+ *	  Original work used according to 
+ *	  Creative Commons Attribution 3.0 License.
+ *	  http://creativecommons.org/licenses/by/3.0/
+ *	  
+ */
+package org.apache.taverna.scufl2.wfdesc.ontologies; 
+import org.apache.jena.rdf.model.*;
+import org.apache.jena.ontology.*;
+ 
+/**
+ * Vocabulary definitions from file:/home/stain/src/incubator-taverna-language/taverna-scufl2-wfdesc/src/main/resources/org/purl/wf4ever/wfdesc/wfprov.ttl 
+ * @author Auto-generated by schemagen on 21 Nov 2018 10:58 
+ */
+public class Wfprov {
+    /** <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/wfprov#";
+    
+    /** <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>This object property is used to associate a wfprov:Artifact to the wfdesc:Parameter 
+     *  description.</p>
+     */
+    public static final ObjectProperty describedByParameter = M_MODEL.createObjectProperty( "http://purl.org/wf4ever/wfprov#describedByParameter" );
+    
+    /** <p>This object property associate a wfprov:Processrun to its wfdesc:Process description 
+     *  .</p>
+     */
+    public static final ObjectProperty describedByProcess = M_MODEL.createObjectProperty( "http://purl.org/wf4ever/wfprov#describedByProcess" );
+    
+    /** <p>This property associates a wfprov:WorkflowRun to its corresponding wfdesc:Workflow 
+     *  description.</p>
+     */
+    public static final ObjectProperty describedByWorkflow = M_MODEL.createObjectProperty( "http://purl.org/wf4ever/wfprov#describedByWorkflow" );
+    
+    /** <p>This property specifies that a wfprov:ProcessRun used an wfprov:Artifact as 
+     *  an input</p>
+     */
+    public static final ObjectProperty usedInput = M_MODEL.createObjectProperty( "http://purl.org/wf4ever/wfprov#usedInput" );
+    
+    /** <p>wfprov:wasEnactedBy associates a wfprov:ProcessRun with a wfprov:WorkflowEngine, 
+     *  specifying that the execution of the process was enacted by the engine.</p>
+     */
+    public static final ObjectProperty wasEnactedBy = M_MODEL.createObjectProperty( "http://purl.org/wf4ever/wfprov#wasEnactedBy" );
+    
+    /** <p>This property specifies that a wfprov:Artifact was generated as an output 
+     *  from a wfprov:ProcessRun</p>
+     */
+    public static final ObjectProperty wasOutputFrom = M_MODEL.createObjectProperty( "http://purl.org/wf4ever/wfprov#wasOutputFrom" );
+    
+    /** <p>This property specifies that a wfprov:ProcessRun was executed as part of a 
+     *  wfprov:WorkflowRun. This typically corresponds to wfdesc:hasSubProcess in 
+     *  the workflow description.</p>
+     */
+    public static final ObjectProperty wasPartOfWorkflowRun = M_MODEL.createObjectProperty( "http://purl.org/wf4ever/wfprov#wasPartOfWorkflowRun" );
+    
+    /** <p>An artifact is a data value or item which wfprov:wasOutputFrom of a wfprov:ProcessRun 
+     *  or that the process run used as input (wfprov:usedInput). Such an artifact 
+     *  might also be a ro:Resource if it has been aggregated in the ro:ResearchObject 
+     *  (typically if the artifact was used or generated by a wfprov:WorkflowRun) 
+     *  - but this might always not be the case for intermediate values from wfprov:ProcessRun.</p>
+     */
+    public static final OntClass Artifact = M_MODEL.createClass( "http://purl.org/wf4ever/wfprov#Artifact" );
+    
+    /** <p>A process run is a particular execution of a wfdesc:Process description (wfprov:describedByProcess), 
+     *  which can wfprov:usedInput some wfprov:Artifact instances, and produce new 
+     *  artifacts (wfprov:wasOutputFrom). A wfprov:WorkflowRun is a specialisation 
+     *  of this class.</p>
+     */
+    public static final OntClass ProcessRun = M_MODEL.createClass( "http://purl.org/wf4ever/wfprov#ProcessRun" );
+    
+    /** <p>A workflow engine is an foaf:Agent that is responsible for enacting a workflow 
+     *  definition (which could be described in a wfdesc:Workflow). The result of 
+     *  workflow enactment gives rise to a wfprov:WorkflowRun.</p>
+     */
+    public static final OntClass WorkflowEngine = M_MODEL.createClass( "http://purl.org/wf4ever/wfprov#WorkflowEngine" );
+    
+    /** <p>A workflow run is a wfprov:ProcessRun which have been enacted by a wfprov:WorkflowEngine, 
+     *  according to a workflow definition (which could be wfdesc:describedByWorkflow 
+     *  a wfdesc:Workflow). Such a process typically contains several subprocesses 
+     *  (wfprov:wasPartOfWorkflowRun) corresponding to wfdesc:Process descriptions</p>
+     */
+    public static final OntClass WorkflowRun = M_MODEL.createClass( "http://purl.org/wf4ever/wfprov#WorkflowRun" );
+    
+}