| /* |
| * 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: <http://purl.org/wf4ever/wfdesc#> |
| * . :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" ); |
| |
| } |