wf4ever ontology
type: Ontology
imports: metadata.owl
version IRI: wf4ever.owl
version info: 1.0.0-SNAPSHOT
issued: 2016-01-28T15:35:00Z
modified: 2016-01-28T15:35:00Z
imports: wfdesc.owl
imports: wfprov.owl
imports: ro.owl
comment: This ontology defines more specific subclasses of terms from the wf4ever ontologies ro, wfdesc and wfprov, e.g. wf4ever:Image, wf4ever:WebServiceProcess in addition to associated properties for describing services and tools, e.g. wf4ever:command and wf4ever:script. This ontology can be used as part of annotations in an `wf4ever:WorkflowResearchObject`, a Research Object that contains at least one workflow.
backward compatible with: wf4ever.owl
preferred namespace prefix: wf4ever
preferred namespace uri: http://purl.org/wf4ever/wf4ever#
usage note: primer
creator: Daniel Garijo
creator: Stian Soiland-Reyes
creator: Graham Klyne
creator: Khalid Belhajjame
creator: Oscar Corcho
creator: Raul Palma
creator: Sean Bechhofer
creator: Esteban García Cuesta
creator: esteban-garcia-cuesta
creator: http://orcid.org/0000-0001-6938-0820
creator: http://orcid.org/0000-0001-9842-9718
creator: http://orcid.org/0000-0002-0323-0093
creator: http://orcid.org/0000-0002-5872-3573
creator: http://orcid.org/0000-0002-9260-0753
creator: http://orcid.org/0000-0003-0454-7145
creator: http://orcid.org/0000-0003-4289-4922
license: http://creativecommons.org/licenses/by/4.0/
rights: This ontology is distributed under Creative Commons Attribution 4.0 License - http://creativecommons.org/licenses/by/4.0
publisher: researchobject.org

command
type: DatatypeProperty
see also: The executed command, for instance "cp /tmp/file1 /tmp/file2", "/usr/local/bin/analyzestuff" or "C:\Program.exe". This ontology does not describe the syntax or format of the command line (for instance splitting into argv arguments or escaping), although reasonable effort should be made to reflect the executed command line on a typical command line shell.
domain: Command line Tool
range: string

file path
type: DatatypeProperty
comment: The (possibly) relative filepath of a wf4ever:File artifact that was used or generated by a wfprov:WorkflowRun. Note that this file path is not uniquely identifying the artifact as different workflow runs might be writing to the same file path. To specify fixed file paths of a workflow wfdesc:Parameter, use wf4ever:parameterFilePath.
domain: File
range: string

parameter file path
type: DatatypeProperty
comment: A (possibly relative) filepath used as a fixed input or output parameter for a workflow. For instance, some workflows might always read the file "relative/in.txt" and always generate the output "/tmp/output.txt". To indicate that a particular wfprov:Artifact from a wfprov:WorkflowRun was a file, use wf4ever:File and wf4ever:filePath - this would typically be the case for workflow runs involving this parameter.
domain: File Parameter
range: string

script
type: DatatypeProperty
domain: Script
range: string

service URI
type: DatatypeProperty
domain: Web Service
range: anyURI

WSDL operation name
type: DatatypeProperty
domain: SOAP Service

WSDL port name
type: DatatypeProperty
domain: SOAP Service

WSDL URI
type: DatatypeProperty
domain: SOAP Service
sub property of: service URI

root URI
type: DatatypeProperty
label: Root URI
sub property of: service URI
comment: The root URI of a web service

BeanShell Script
type: Class
subclass of: Script
comment: A script written in the BeanShell language

Command line Tool
type: Class
subclass of: ProcessImplementation
comment: A command line tool, typically executed locally, through SSH or a job submission system.

Dataset
type: Class
subclass of: Artifact
comment: A dataset or reference database.

Document
type: Class
subclass of: Artifact
comment: A human readable document, like a HTML page, a PDF, plain text file or a LibreOffice document.

File
type: Class
subclass of: Artifact
comment: A file wfprov:Artifact that was used or generated by a wfprov:WorkflowRun. A wf4ever:File can specify a (possibly relative) wf4ever:filePath. Note that this file path is not uniquely identifying the artifact as different workflow runs might be writing to the same file path. Hence a wf4ever:File should generally not be identified using a <file:///absolute/path> URI, unless the RDF serialization is using a relative URI reference to a resource <some/path> which is also aggregated as a child resource within a RO, so resolving <some/path> within <file:///some/ro/> would generate <file:///some/ro/some/path> identifying the wf4ever:File locally. In some cases, file URIs with hostname can be used to uniquely identify a file, say <file://server.example.com/home/user/file.txt> - such a identification scheme should only be used if the server hostname is considered fixed and the paths are considered immutable. To specify fixed file paths of a workflow wfdesc:Parameter, use wf4ever:parameterFilePath.

File Parameter
type: Class
subclass of: Parameter
subclass of: Restriction
  on property: parameter file path
  some values from: string
comment: A wfdesc:Parameter (typically an Input or Output) which is read/written from a fixed (possibly relative) file path, specified with wf4ever:parameterFilePath For instance, some workflows might always read the file "relative/in.txt" and always generate the output "/tmp/output.txt". Note that this path is not in anyway identifying the wfdesc:Parameter, as workflows could be reading/writing the same file paths. To indicate that a particular value from a wfprov:WorkflowRun was a file, use wf4ever:File and wf4ever:filePath.

Image
type: Class
subclass of: Artifact
comment: A visual image or photograph, formats like JPEG, PNG, TIFF

REST Service
type: Class
subclass of: Web Service
comment: A RESTful web service, accessed using HTTP or HTTPS. The wf4ever:serviceURI should somewhat identify the endpoint, but would often not be uniquely identifying the RESTService as the exact URI accessed could depend on the input values. TODO: Should a URI template be specified?

R Script
type: Class
subclass of: Script
comment: A script written in the R language

Python Script
type: Class
subclass of: Script
comment: A script written in the Python language

SOAP Service
type: Class
subclass of: Web Service
comment: A SOAP service is a method described in a WSDL 1.1 or WSDL 2.0 specification. A SOAP service method is considered unique given a wf4ever:wsdlURI, wf4ever:wsdlOperationName and wf4ever:wsdlPortName. TODO: Do we need to distinguish between WSDL and SOAP? WSDL 1.1 and WSDL 2.0? RPC/Encoded vs.Wrapped Document/Literal?
has key: WSDL URI
has key: WSDL port name
has key: WSDL operation name

Script
type: Class
subclass of: ProcessImplementation
see also: A script which can be evaluated. Scripts of reasonable small sizes can be embedded in this description using wf4ever:script.

Web Service
type: Class
subclass of: ProcessImplementation
comment: A (typically remote) Web Service, like REST or SOAP. For the purpose of being a wfdesc:ProcessImplementation of a wfdesc:Process, a 'service' is considered more like a specific method then an endpoint.

Workflow Research Object
type: Class
equivalent class: Class
  intersection of: ResearchObject
  intersection of: Restriction
    on property: aggregates
    some values from: Workflow
comment: A workflow research object is a research object that aggregates at least one workflow description. It might of course aggregates any other kind of resources, but MUST aggregate at least one wfdesc:Workflow. Such research objects have characteristics that are of particular interest for the Wf4Ever infrastructure, because workflows can be run, are composed of processes, and are subject to decay and repair.