Acknowledgement for technical support: Torbjorn Lium, Lorand Janos Szentennai, Stanislav Oltu.
Author: Matus Kalas, (c) 2011-2014, Computational Biology Unit, Department of Informatics, University of Bergen, Norway.
Licence: Available under the Creative Commons BY-ND 3.0 licence with allowed attributed reference to, and import of, unmodified(
PIs: Inge Jonassen, Kjell Petersen, Ibid.
Web Service Interaction Ontology (WSIO) enables automated interaction with more complex Web services that are typical for example within life sciences. WSIO is however independent of the application domain and relevant for both SOAP and REST Web services, and for batch execution engines in general. If the interaction scenario with a Web service is nontrivial (and incorporates session handling), annotation with WSIO concepts will enable automatic generation of client programs, scripts, or interactive applications with a graphical user interface. WSIO also enables automation of different ways of data transfer and data un-/compression or en-/decoding. We strongly discourage providers from developing complex interaction and data-transfer/compression scenarios, however when needed, WSIO may enable smooth automated interaction with them. Future versions will support more interaction scenarios. WSIO aims to serve also as a means to standardise the complex interaction scenarios primarily within both SOAP and REST Web services, and secondarily to apply also to batch execution infrastructure in general.
'Created in' specificies the released version of the ontology since which the concept has been added and its ID created.
'Documentation' concept attribute ('documentation' metadata tag) is pointing to a page with explanation, description, documentation, or specification of the given data compression or encoding.
Does not handle different versions of the specification or of the concept itself. Within WSIO, 'Documentation' applies to concrete forms of data transfer ('Transfer') and data compression/encoding ('Compression').
'Example' concept attribute ('example' metadata tag) lists examples of valid values of types of identifiers (accessions). Applicable to some other types of data, too.
'Obsolete_since' specificies the released version of the ontology since which the concept has been obsolete.
'Regular expression' concept attribute specifies the allowed values of types of identifiers (accessions). Applicable to some other types of data, too.
The top-level-rooted WSIO 'Compression' sub-ontology includes forms of compression and binary-to-text encoding, and their combinations, that are relevant with respect to input and output data of Web services. Concepts of WSIO 'Compression' sub-ontology are applicable also outside of the context of Web-service interaction.
Additional tags of metadata of WSIO concepts, or their trailing modifiers or qualifiers. Applicable also outside of the context of Web-service interaction.
'Concept URI' metadata tag in the OBO format ('! concept_uri: ') defines the canonical global URI of a concept.
Global Unified Resource Identifier (URI)
The top-level-rooted WSIO 'Data' sub-ontology includes types of data that are relevant with respect to interaction scenarios with Web services, including session handling (for example 'explicit polling' within asynchronous invocation). Concepts of WSIO 'Data' sub-ontology are applicable also outside of the context of Web-service interaction.
'Note' trailing modifier ('note=') of any concept or ontology attributes. Contains a note for a human reader related to the given attribute.
The top-level-rooted WSIO 'Operation' sub-ontology includes operations that are relevant with respect to interaction scenarios with Web services, including session handling (for example 'explicit polling' within asynchronous invocation). Some concepts of WSIO 'Operation' sub-ontology are applicable also outside of the context of Web-service interaction.
Types of relations defined between concepts of WSIO, or available to be used for annotations of external entities' relations to concepts or external entities. All relation types are applicable also outside of the context of Web-service interaction.
Functionality denoted by these concepts is supported by the eSysbio system (http://esysbio.org) within the automated Web-service invocation and input/output data handling.
The top-level-rooted WSIO 'Transfer' sub-ontology includes forms of transfer and transfer protocols that are relevant with respect to transferring input and output data to and from Web services. Some concepts of WSIO 'Transfer' sub-ontology are applicable also outside of the context of Web-service interaction.
'A has_function B' defines for the subject A, that it has the object B as its function.
Subject A can be any concept or entity outside of an ontology (or an ontology concept in a role of an entity being semantically annotated). Object B can either be a concept that is (or is in a role of) a function, or an entity outside of an ontology that is (or is in a role of) a function specification. In the scope of WSIO, 'has_function' serves only for relating annotated entities outside of WSIO with 'Operation' concepts.
'OBI:has_function' only relates subjects that are an 'independent_continuant' (snap:IndependentContinuant), so for example no processes, with objects that are a 'function' (snap:Function). It does not define explicitly that the object is a function of the subject.
Is defined anywhere? Not in the 'unknown' version of RO. 'OBO_REL:bearer_of' is narrower in the sense that it only relates ontological categories (concepts) that are an 'independent_continuant' (snap:IndependentContinuant) with ontological categories that are a 'specifically_dependent_continuant' (snap:SpecificallyDependentContinuant), and broader in the sense that it relates with any borne objects not just functions of the subject.
'A has_input B' defines for the subject A, that it has the object B as a necessary or actual input or input argument.
Subject A can either be concept that is or has an 'Operation' function, or an entity outside of an ontology (or an ontology concept in a role of an entity being semantically annotated) that has an 'Operation' function or is an 'Operation'. Object B can be any concept or entity. In WSIO, only 'has_input' is explicitly defined between WSIO concepts, not the inverse 'is_input_of'.
'OBI:has_specified_input' only relates subjects that are a 'planned process' (http://purl.obolibrary.org/obo/OBI_0000011) with objects that are a 'continuant' (snap:Continuant).
'OBO_REL:has_participant' is narrower in the sense that it only relates ontological categories (concepts) that are a 'process' (span:Process) with ontological categories that are a 'continuant' (snap:Continuant), and broader in the sense that it relates with any participating objects not just inputs or input arguments of the subject.
'A has_output B' defines for the subject A, that it has the object B as a necessary or actual output or output argument.
Subject A can either be concept that is or has an 'Operation' function, or an entity outside of an ontology (or an ontology concept in a role of an entity being semantically annotated) that has an 'Operation' function or is an 'Operation'. Object B can be any concept or entity. In WSIO, only 'has_output' is explicitly defined between WSIO concepts, not the inverse 'is_output_of'.
'OBI:has_specified_output' only relates subjects that are a 'planned process' (http://purl.obolibrary.org/obo/OBI_0000011) with objects that are a 'continuant' (snap:Continuant).
'OBO_REL:has_participant' is narrower in the sense that it only relates ontological categories (concepts) that are a 'process' (span:Process) with ontological categories that are a 'continuant' (snap:Continuant), and broader in the sense that it relates with any participating objects not just outputs or output arguments of the subject. It is also not clear whether an output (result) actually participates in the process that generates it.
'A is_function_of B' defines for the subject A, that it is a function of the object B.
Subject A can either be concept that is (or is in a role of) a function, or an entity outside of an ontology (or an ontology concept in a role of an entity being semantically annotated) that is (or is in a role of) a function specification. Object B can be any concept or entity. Within WSIO itself, 'is_function_of' is not used.
Is defined anywhere? Not in the 'unknown' version of RO. 'OBO_REL:function_of' only relates subjects that are a 'function' (snap:Function) with objects that are an 'independent_continuant' (snap:IndependentContinuant), so for example no processes. It does not define explicitly that the subject is a function of the object.
Is defined anywhere? Not in the 'unknown' version of RO. 'OBO_REL:inheres_in' is narrower in the sense that it only relates ontological categories (concepts) that are a 'specifically_dependent_continuant' (snap:SpecificallyDependentContinuant) with ontological categories that are an 'independent_continuant' (snap:IndependentContinuant), and broader in the sense that it relates any borne subjects not just functions.
'A is_input_of B' defines for the subject A, that it as a necessary or actual input or input argument of the object B.
Subject A can be any concept or entity outside of an ontology (or an ontology concept in a role of an entity being semantically annotated). Object B can either be a concept that is or has an 'Operation' function, or an entity outside of an ontology that has an 'Operation' function or is an 'Operation'. In WSIO, 'is_input_of' is not explicitly defined between WSIO concepts, only the inverse 'has_input'.
'OBI:is_specified_input_of' only relates subjects that are a 'continuant' (snap:Continuant) with objects that are a 'planned process' (http://purl.obolibrary.org/obo/OBI_0000011).
'OBO_REL:participates_in' is narrower in the sense that it only relates ontological categories (concepts) that are a 'continuant' (snap:Continuant) with ontological categories that are a 'process' (span:Process), and broader in the sense that it relates any participating subjects not just inputs or input arguments.
'A is_output_of B' defines for the subject A, that it as a necessary or actual output or output argument of the object B.
Subject A can be any concept or entity outside of an ontology (or an ontology concept in a role of an entity being semantically annotated). Object B can either be a concept that is or has an 'Operation' function, or an entity outside of an ontology that has an 'Operation' function or is an 'Operation'. In WSIO, 'is_output_of' is not explicitly defined between WSIO concepts, only the inverse 'has_output'.
'OBI:is_specified_output_of' only relates subjects that are a 'continuant' (snap:Continuant) with objects that are a 'planned process' (http://purl.obolibrary.org/obo/OBI_0000011).
'OBO_REL:participates_in' is narrower in the sense that it only relates ontological categories (concepts) that are a 'continuant' (snap:Continuant) with ontological categories that are a 'process' (span:Process), and broader in the sense that it relates any participating subjects not just outputs or output arguments. It is also not clear whether an output (result) actually participates in the process that generates it.
'A has_compression B' defines for the subject A, that it has the object B as its compression (form of compression, compressed format), and/or binary-to-text encoding.
Subject A can be any concept or entity outside of an ontology (or an ontology concept in a role of an entity being semantically annotated) that is (or is in a role of) an input, output, input argument, or output argument of an 'Operation'. Object B can either be a concept that is a 'Compression' (or has a 'Compression' function), or an entity outside of an ontology that has a 'Compression' function or is a 'Compression' (a compression/encoding method or format specification). In the scope of WSIO, 'has_compression' serves only for relating annotated entities outside of WSIO with 'Compression' concepts.
'OBI:has_quality' might be seen narrower in the sense that it only relates subjects that are an 'independent_continuant' (snap:IndependentContinuant) with objects that are a 'quality' (snap:Quality), and is broader in the sense that it relates with any qualities of the subject.
'A has_transfer B' defines for the subject A, that it has the object B as its transfer (form of transfer, transfer protocol).
Subject A can be any concept or entity outside of an ontology (or an ontology concept in a role of an entity being semantically annotated) that is (or is in a role of) an input, output, input argument, or output argument of an 'Operation'. Object B can either be a concept that is a 'Transfer' (or has a 'Transfer' function), or an entity outside of an ontology that has a 'Transfer' function or is a 'Transfer' (a transfer specification). In the scope of WSIO, 'has_transfer' serves only for relating annotated entities outside of WSIO with 'Transfer' concepts.
'A is_compression_of B' defines for the subject A, that it is a compression (form of compression, compressed format), and/or binary-to-text encoding, of the object B.
Subject A can either be a concept that is a 'Compression' (or has a 'Compression' function), or an entity outside of an ontology (or an ontology concept in a role of an entity being semantically annotated) that has a 'Compression' function or is a 'Compression' (a compression/encoding method or format specification). Object B can be any concept or entity outside of an ontology that is (or is in a role of) an input, output, input argument, or output argument of an 'Operation'. Within WSIO itself, 'is_compression_of' is not used.
Is defined anywhere? Not in the 'unknown' version of RO. 'OBO_REL:quality_of' might be seen narrower in the sense that it only relates subjects that are a 'quality' (snap:Quality) with objects that are an 'independent_continuant' (snap:IndependentContinuant), and is broader in the sense that it relates any qualities of the object.
'A is_transfer_of B' defines for the subject A, that it is a transfer (form of transfer, transfer protocol) of the object B.
Subject A can either be a concept that is a 'Transfer' (or has a 'Transfer' function), or an entity outside of an ontology (or an ontology concept in a role of an entity being semantically annotated) that has a 'Transfer' function or is a 'Transfer' (a transfer specification). Object B can be any concept or entity outside of an ontology that is (or is in a role of) an input, output, input argument, or output argument of an 'Operation'. Within WSIO itself, 'is_transfer_of' is not used.
Compression (form of data compression), a form of encoding of binary data, or a sequence of compression and encoding methods, are the ways data is compressed and/or eventually encoded to decrease its volume (and eventually be exchanged in text format). They imply the way compressed/encoded data should be decompressed/decoded to be readable in its original form again.
Form of data compression and/or encoding
Type of data compression and/or encoding
A top-level concept in WSIO rooting the 'Compression' sub-ontology. WSIO 'Compression' sub-ontology includes forms of compression and binary-to-text encoding, and their combinations, that are relevant with respect to input and output data of Web services. Concepts of WSIO 'Compression' sub-ontology are applicable also outside of the context of Web-service interaction.
However, one should note that 'Compression and encoding' is not limited only to explicit compression, encoding, or combined methods or algorithms.
The same concept in the case when 'Compression and encoding' is used in a role of semantically annotating data entities.
A broader concept in the case when the 'Compression' sub-ontology is used in a role of semantically annotating data entities. Narrower in the sense of being limited to data format.
Form of data compression and/or encoding is related to operations of compressing, decompressing, encoding, and decoding data.
Form of data compression and/or encoding is related to processes of compressing, decompressing, encoding, and decoding data.
Form of data compression and/or encoding is related to functions of compressing, decompressing, encoding, and decoding data.
BFO 'quality' is narrower in the sense that it is a 'dependent_continuant' (snap:DependentContinuant), and broader in the sense that it is any quality not just the form of data compression and/or encoding.
Data compression (form of data compression) is the way data is compressed to decrease its volume, and the implied way how it should be decompressed to be readable in its original form again. It may include archiving of multiple files.
However, one should note that 'Data compression' is not limited only to an explicit compression method and not to an explicit compression algorithm.
The same concept in the case when 'Data compression' is used in a role of semantically annotating data entities.
Typically, but not necessarily, the format of compressed data is binary. Applies when 'Data compression' is used in a role of semantically annotating compressed data entities.
Data compression (type of data compression), an encoding method of binary data, or a sequence of compression and encoding methods, are the ways data is compressed and/or eventually encoded.
The same concept in the case when 'Binary-to-text encoding' is used in a role of semantically annotating encoded data entities.
A broader concept in the case when the 'Binary-to-text encoding' is used in a role of semantically annotating encoded data entities. Narrower in the sense of being limited to data format.
Combination of forms of data compression and/or binary-to-text encoding is a sequence of data compressions and encodings that decreases the data volume and encodes it in the desired format. The reverse sequence of compressions and encodings should be used to decompress and decode the data into its original form.
Combined data compression and encoding method
Sequence of forms of data compression and binary-to-text encoding
In the specialised ontology concepts of 'Combination of compression and encoding', the forms of compression and encoding are listed in their names (terms) in the order of the compression/encoding sequence. The reverse sequence must be used for decompression/decoding.
However, one should note that 'Combination of compression and encoding' is not limited only to explicit combined methods or algorithms.
The same concept in the case when 'Combination of compression and encoding' is used in a role of semantically annotating compressed and encoded data entities.
ZIP is a compressed and archived data format, and a compression and archiving method, supported by multiple tools and systems.
gzip (GNU zip) is a compression method supported by multiple tools and systems. It has a corresponding gzip data format.
tar archive (tape archive) compressed by gzip.
Efficient XML Interchange (EXI) is a compressed binary data format and a form of compression of XML-formatted data.
base64 is a form of representing binary data in text format.
'gzip base64' combines compression by gzip followed by base64 encoding.
7z is a compressed data format supporting multiple algorithms.
Data is an information artefact that is 'understandable' by dedicated computational tools that can use the data as input or produce as output.
A top-level concept in WSIO rooting the 'Data' sub-ontology. WSIO 'Data' sub-ontology includes types of data that are relevant with respect to interaction scenarios with Web services, including session handling (for example 'explicit polling' within asynchronous invocation). Concepts of WSIO 'Data' sub-ontology are applicable also outside of the context of Web-service interaction.
IAO 'data item' is a closely related ontological category (concept) broader in the sense of being any type of data in any role, and narrower in the sense of being limited to a 'generically_dependent_continuant' (snap:GenericallyDependentContinuant), standing in relation of aboutness to some entity (http://purl.obolibrary.org/obo/IAO_0000030), and to data that is intended to be a truthful statement about something.
IAO 'information content entity' is a closely related ontological category (concept) broader in the sense of covering any type of data in any role, and narrower in the sense of being limited to a 'generically_dependent_continuant' (snap:GenericallyDependentContinuant) and standing in relation of aboutness to some entity.
Identifier is a datum uniquely identifying an entity.
Computation ID is a unique identifier of a computation process instance, that is used by the infrastructure responsible for the computation.
Session status is a datum describing a state of a session.
Result is a datum (output argument) holding the result of a computation, or the actual (full, partial, or a part of) resulting data of a computation.
Operation is a function that processes a set of inputs and results in a set of outputs, or associates arguments (inputs) with values (outputs).
A singular case is a constant operation (constant function) that consumes no input (has no input arguments). A top-level concept in WSIO rooting the 'Operation' sub-ontology. WSIO 'Operation' sub-ontology includes operations that are relevant with respect to interaction scenarios with Web services, including session handling (for example 'explicit polling' within asynchronous invocation). Some concepts of WSIO 'Operation' sub-ontology are applicable also outside of the context of Web-service interaction.
Operation is a function that has input(s) and output(s).
Process can have a function (as its quality/attribute), and can also have (perform) an 'Operation' with inputs and outputs.
BFO 'function' is narrower in the sense that it is a 'realizable_entity' (snap:RealizableEntity) and a 'dependent_continuant' (snap:DependentContinuant), and broader in the sense that it does not need to have input(s) and output(s).
Function, including an operation, can have a role of a quality/attribute in semantic annotation.
'Submit job' is an operation that submits a new computational task.
'Get status' is an operation that returns a status of a session or a computation.
'Get result' is an operation that returns a result of a computation.
'Init session' is an operation that starts a new session.
'Send data' is an operation that sends or sets the payload input data for a computation.
'Set parameters' is an operation that sets the (input) parameters of a parameterised computation.
Transfer (type of data transfer, data transfer protocol) is the way data is transfered between 2 locations or processes.
Types of transfer are not bound to any particular layer of the OSI Model (http://en.wikipedia.org/wiki/OSI_model). A top-level concept in WSIO rooting the 'Transfer' sub-ontology. WSIO 'Transfer' sub-ontology includes forms of transfer and transfer protocols that are relevant with respect to transferring input and output data to and from Web services. Some concepts of WSIO 'Transfer' sub-ontology are applicable also outside of the context of Web-service interaction.
Form of data transfer is related to a function of transferring data.
Form of data transfer is related to a process of transferring data.
BFO 'quality' is narrower in the sense that it is a 'dependent_continuant' (snap:DependentContinuant), and broader in the sense that it is any quality not just the form of data transfer.
'In SOAP body' is a form of data transfer inside the body of a SOAP message.
MTOM is a form of data transfer as an MTOM attachment of a SOAP message.
'Download from URL' is a form of data transfer by downloading from a specified URL.
Within the semantic annotation of forms of transfer of Web services or other tools, the data (argument) holding the specified URL should be annotated as having transfer 'Download from URL'.