blob: 9f8576d0101a17dfe18064a7b739c9de178702ac [file] [log] [blame]
/*
* 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" );
}