The Open Provenance Model is a model of provenance that is designed to meet the following requirements: (1) To allow provenance information to be exchanged between systems, by means of a compatibility layer based on a shared provenance model. (2) To allow developers to build and share tools that operate on such a provenance model. (3) To define provenance in a precise, technology-agnostic manner. (4) To support a digital representation of provenance for any 'thing', whether produced by computer systems or not. (5) To allow multiple levels of description to coexist. (6) To define a core set of rules that identify the valid inferences that can be made on provenance representation.
This document presents an OWL ontology for the Open Provenance Model (v1.1) [OPM V1.1].
This is a work in progress! This is a draft of the OWL ontology for the Open Provenance Model. It is based on Jun Zhao's OPMV vocabulary and the latest OPM specification OPM V1.1.
The Open Provenance Model is a model of provenance that is designed to meet the following requirements: (1) To allow provenance information to be exchanged between systems, by means of a compatibility layer based on a shared provenance model. (2) To allow developers to build and share tools that operate on such a provenance model. (3) To define provenance in a precise, technology-agnostic manner. (4) To support a digital representation of provenance for any 'thing', whether produced by computer systems or not. (5) To allow multiple levels of description to coexist. (6) To define a core set of rules that identify the valid inferences that can be made on provenance representation.
The purpose of this document is to define an OWL ontology to capture the concepts of the open provenance model and the valid inferences valid in this model [OPM V1.1].
Furthermore, this OWL ontology specifies an RDF serialization of the OPM abstract model [OPM V1.1]. A design goal of this ontology is that the RDF serialization should be convertible into XML (as per the OPM XML schema [OPMX]), and vice-versa, the XML representation should be convertible into RDF. The OWL ontology and the XML schemas were co-evolved to ensure that convertibility.
The OPM OWL ontology leverages Jun Zhao's OPMV, a lightweight vocabulary to describe the core concepts of OPM. This vocabulary is essentially focused on the asserter of provenance information. It allows most of the OPM concepts to be asserted. However, it does not allow inferences to be made. This is exactly what this ontology tackles: it allows full expressivity of OPM concepts, and it allows inferences to be made.
So why do we need OPMO and OPMV? OPMV is a lightweight entry point to provenance, which is convenient for (most) OPM assertions to be made. OPMO is an upgrade path, which allows full expressivity and reasoning.
OPMO and OPMV show differences in the way information is encoded; we summarize them here. OPMV uses properties to encode OPM edges, whereas OPMO uses explicit classes, since OPM edges are not binary properties. OPMO's encoding of edges as classes allow all edge properties to be expressed, from which OPMV-style edges can be inferred automatically. OPMV makes extensive use of Named Graphs, a technique with increasing support, but whose semantics is not fully specified yet. On the contrary, OPMO introduces an explicit class for accounts, and expresses account membership explicitly with a property. Likewise, the OPMO ontology makes OPM roles explicit, whereas OPMV encodes implicitly in names of properties representing edges.
We adopt the following XML prefix and XML namespaces:
opmo: | http://openprovenance.org/model/opmo# |
opmv: | http://purl.org/net/opmv/ns# |
The OWL file is accessible from [OPMO].
An alphabetical index of OPMO terms, by class (concepts) and by property (relationships, attributes), are given below. All the terms are hyperlinked to their detailed description for quick reference.
Classes: AValue, Account, Annotable, Annotation, Edge, Entity, EventEdge, Node, OPMGraph, OTime, Property, Role, Used, WasControlledBy, WasDerivedFrom, WasGeneratedBy, WasTriggeredBy,
Properties: account, annotation, avalue, cause, causeUsed, causeWasControlledBy, causeWasDerivedFrom, causeWasGeneratedBy, causeWasTriggeredBy, content, datapropertyAbbreviation, effect, effectInverse, effectUsed, effectUsedInverse, effectWasControlledBy, effectWasControlledByInverse, effectWasDerivedFrom, effectWasDerivedFromInverse, effectWasGeneratedBy, effectWasGeneratedByInverse, effectWasTriggeredBy, effectWasTriggeredByInverse, encoding, endTime, exactlyAt, hasAccount, hasAgent, hasArtifact, hasConstituent, hasDependency, hasProcess, key, label, noEarlierThan, noLaterThan, pname, profile, property, role, startTime, time, type, usedStar, value, wasDerivedFromStar, wasGeneratedByStar,
OPM define a notion of graphs. There are three kinds of nodes: Artifacts, Agents, Processes.
Five kinds of edges are supported: Used, WasGeneratedBy (WGB), WasDerivedFrom (WDF), WasControlledBy (WCB) and WasTriggeredBy (WTB)
Edges have specific source (effect) and specific destination (cause). Used has an Artifact as an effect, and a Process as a Cause; WasGeneratedBy (WGB) has an Artifact as an effect, and a Process as a cause; WasDerivedFrom (WDF) has Artifacts as cause and effect; WasControlledBy (WCB) has a Process as an effect, and an Agent as a Cause; WasTriggeredBy (WTB) has Processes as cause and effect. Some edges have a Role and Time information associated with them.
Nodes, edges, and annotations can belong to Accounts. A graph enumerates the nodes, edges, annotations and accounts it contains.
Annotable entities can be associated with Annotations.
Here is a simple OPM graph, inspired from the First Provenance Challenge workflow. Using the OPM graphical notation, we have the following OPM graph:
Two representations of this OPM graph have been produced. The first maps to RDF, according to the OPMO ontology, and is represented in the N3 notation. The second is a serialization in XML compatible with OPMX Schema.
AValue - The serial representation of an artifact Value
Identifier: | http://openprovenance.org/model/opmo#AValue |
---|---|
sub-class-of: | opmo:Entity |
in-domain-of: | opmo:content |
opmo:encoding | |
in-range-of: | opmo:avalue |
Account - The class representing an OPM Account.
Identifier: | http://openprovenance.org/model/opmo#Account |
---|---|
sub-class-of: | opmo:Entity |
in-range-of: | opmo:account |
opmo:hasAccount |
Annotable - The set of OPM entities that can be annotated.
Identifier: | http://openprovenance.org/model/opmo#Annotable |
---|---|
sub-class-of: | opmo:Entity |
in-domain-of: | opmo:annotation |
opmo:datapropertyAbbreviation | |
opmo:label | |
opmo:pname | |
opmo:profile | |
opmo:type |
Annotation - OPM class used to annotate Annotable entities.
Identifier: | http://openprovenance.org/model/opmo#Annotation |
---|---|
sub-class-of: | opmo:Entity |
in-domain-of: | opmo:property |
opmo:account | |
in-range-of: | opmo:annotation |
Edge - A (causal) relationship is represented by an arc and denotes the presence of a dependency between the source of the arc (the effect) and the destination of the arc (the cause).
Identifier: | http://openprovenance.org/model/opmo#Edge |
---|---|
sub-class-of: | opmo:Entity |
in-domain-of: | opmo:cause |
opmo:effect | |
opmo:account | |
in-range-of: | opmo:effectInverse |
opmo:hasDependency |
Entity - The class of all constituents of an OPM graph.
Identifier: | http://openprovenance.org/model/opmo#Entity |
---|
EventEdge - An EventEdge denotes an Edge associated with a time instant.
Identifier: | http://openprovenance.org/model/opmo#EventEdge |
---|---|
sub-class-of: | opmo:Entity |
in-domain-of: | opmo:time |
Node - Node is the class of nodes in an OPM graph. Nodes can be a source or effect of edges.
Identifier: | http://openprovenance.org/model/opmo#Node |
---|---|
sub-class-of: | opmo:Entity |
in-domain-of: | opmo:effectInverse |
opmo:account | |
in-range-of: | opmo:cause |
opmo:effect |
OPMGraph - The class of all OPM graphs.
Identifier: | http://openprovenance.org/model/opmo#OPMGraph |
---|---|
sub-class-of: | opmo:Entity |
in-domain-of: | opmo:hasAccount |
opmo:hasAgent | |
opmo:hasArtifact | |
opmo:hasConstituent | |
opmo:hasDependency | |
opmo:hasProcess |
OTime - Observed time.
Identifier: | http://openprovenance.org/model/opmo#OTime |
---|---|
sub-class-of: | opmo:Entity |
in-domain-of: | opmo:exactlyAt |
opmo:noEarlierThan | |
opmo:noLaterThan | |
in-range-of: | opmo:endTime |
opmo:startTime | |
opmo:time |
Property - Building block allowing for the construction of annotations. It consists of key-value pair.
Identifier: | http://openprovenance.org/model/opmo#Property |
---|---|
sub-class-of: | opmo:Entity |
in-domain-of: | opmo:key |
opmo:value | |
in-range-of: | opmo:property |
Role - A role designates an artifact’s or agent’s function in a process. Roles are constituents of “used”, “was generated by”, and “was controlled by” edges, aimed at distinguishing the nature of the dependency when multiple such edges are connected to a same process.
Identifier: | http://openprovenance.org/model/opmo#Role |
---|---|
sub-class-of: | opmo:Entity |
in-domain-of: | opmo:value |
in-range-of: | opmo:role |
Used - A “used” edge from process to an artifact is a relationship intended to indicate that the process required the availability of the artifact to be able to complete its execution. When several artifacts are connected to a same process by multiple “used” edges, all of them were required for the process to complete. Used is a class that encompasses all the properties defined by OPM for this kind of edge. It is a reification of the opmv:used property.
Identifier: | http://openprovenance.org/model/opmo#Used |
---|---|
sub-class-of: | opmo:Edge |
in-domain-of: | opmo:causeUsed |
opmo:effectUsed | |
opmo:role | |
in-range-of: | opmo:effectUsedInverse |
WasControlledBy - An edge “was controlled by” from a process P to an agent Ag is a dependency that indicates that the start and end of process P was controlled by agent Ag. WasControlledBy is a class that encompasses all the properties defined by OPM for this kind of edge. It is a reification of the opmv:wasControlledBy property.
Identifier: | http://openprovenance.org/model/opmo#WasControlledBy |
---|---|
sub-class-of: | opmo:Edge |
in-domain-of: | opmo:causeWasControlledBy |
opmo:effectWasControlledBy | |
opmo:endTime | |
opmo:startTime | |
opmo:role | |
in-range-of: | opmo:effectWasControlledByInverse |
WasDerivedFrom - An edge “was derived from” from artifact A2 to artifact A1 is a relationship that indicates that artifact A1 needs to have been generated for A2 to be generated. The piece of state associated with A2 is dependent on the presence of A1 or on the piece of state associated with A1 . WasDerivedFrom is a class that encompasses all the properties defined by OPM for this kind of edge. It is a reification of the opmv:wasDerivedFrom property.
Identifier: | http://openprovenance.org/model/opmo#WasDerivedFrom |
---|---|
sub-class-of: | opmo:Edge |
in-domain-of: | opmo:causeWasDerivedFrom |
opmo:effectWasDerivedFrom | |
in-range-of: | opmo:effectWasDerivedFromInverse |
WasGeneratedBy - A “was generated by” edge from an artifact to a process is a relationship intended to mean that the process was required to initiate its execution for the artifact to have been generated. When several artifacts are connected to a same process by multiple “was generated by” edges, the process had to have begun, for all of them to be generated. WasGeneratedBy is a class that encompasses all the properties defined by OPM for this kind of edge. It is a reification of the opmv:wasGeneratedBy property.
Identifier: | http://openprovenance.org/model/opmo#WasGeneratedBy |
---|---|
sub-class-of: | opmo:Edge |
in-domain-of: | opmo:causeWasGeneratedBy |
opmo:effectWasGeneratedBy | |
opmo:role | |
in-range-of: | opmo:effectWasGeneratedByInverse |
WasTriggeredBy - An edge “was triggered by” from a process P2 to a process P1 is a causal dependency that indicates that the start of process P1 was required for P2 to be able to complete. WasTriggeredBy is a class that encompasses all the properties defined by OPM for this kind of edge. It is a reification of the opmv:wasTriggeredBy property.
Identifier: | http://openprovenance.org/model/opmo#WasTriggeredBy |
---|---|
sub-class-of: | opmo:Edge |
in-domain-of: | opmo:causeWasTriggeredBy |
opmo:effectWasTriggeredBy | |
in-range-of: | opmo:effectWasTriggeredByInverse |
account - Object Property to express the member of an OPM entity to some Account.
Identifier: | http://openprovenance.org/model/opmo#account |
---|---|
OWL Type: | ObjectProperty |
Domain: | opmo:Annotation |
opmo:Edge | |
opmo:Node | Range: | opmo:Account |
annotation - Object property to associate an Annotable entity and an Annotation.
Identifier: | http://openprovenance.org/model/opmo#annotation |
---|---|
OWL Type: | ObjectProperty |
Domain: | opmo:Annotable | Range: | opmo:Annotation |
avalue - Denotes a serialization of an application value associated with an Artifact. Such serialization should have a type (expressed in a type system suitable for the serialization). Serialization technologies include XML, JSON, and ntriples.
Identifier: | http://openprovenance.org/model/opmo#avalue |
---|---|
OWL Type: | ObjectProperty |
Domain: | opmv:Artifact | Range: | opmo:AValue |
cause - The cause of an Edge.
Identifier: | http://openprovenance.org/model/opmo#cause |
---|---|
OWL Type: | ObjectProperty |
Domain: | opmo:Edge | Range: | opmo:Node |
causeUsed - The cause of a Used edge.
Identifier: | http://openprovenance.org/model/opmo#causeUsed |
---|---|
OWL Type: | ObjectProperty | sub-property-of: | opmo:cause |
Domain: | opmo:Used | Range: | opmv:Artifact |
causeWasControlledBy - The cause of a WasControlledBy edge.
Identifier: | http://openprovenance.org/model/opmo#causeWasControlledBy |
---|---|
OWL Type: | ObjectProperty | sub-property-of: | opmo:cause |
Domain: | opmo:WasControlledBy | Range: | opmv:Agent |
causeWasDerivedFrom - The cause of a WasDerivedFrom edge.
Identifier: | http://openprovenance.org/model/opmo#causeWasDerivedFrom |
---|---|
OWL Type: | ObjectProperty | sub-property-of: | opmo:cause |
Domain: | opmo:WasDerivedFrom | Range: | opmv:Artifact |
causeWasGeneratedBy - The cause of a WasGeneratedBy edge.
Identifier: | http://openprovenance.org/model/opmo#causeWasGeneratedBy |
---|---|
OWL Type: | ObjectProperty | sub-property-of: | opmo:cause |
Domain: | opmo:WasGeneratedBy | Range: | opmv:Process |
causeWasTriggeredBy - The cause of a WasTriggeredBy edge.
Identifier: | http://openprovenance.org/model/opmo#causeWasTriggeredBy |
---|---|
OWL Type: | ObjectProperty | sub-property-of: | opmo:cause |
Domain: | opmo:WasTriggeredBy | Range: | opmv:Process |
content - Content of the serial representation of Artifact.
Identifier: | http://openprovenance.org/model/opmo#content |
---|---|
OWL Type: | DatatypeProperty |
Domain: | opmo:AValue | Range: | rdfs:Literal |
datapropertyAbbreviation - The OPM Ontology offers several data properties that are abbreviation of common properties defined by OPM.
Identifier: | http://openprovenance.org/model/opmo#datapropertyAbbreviation |
---|---|
OWL Type: | DatatypeProperty |
Domain: | opmo:Annotable |
effect - The effect of an Edge.
Identifier: | http://openprovenance.org/model/opmo#effect |
---|---|
OWL Type: | ObjectProperty |
Domain: | opmo:Edge | Range: | opmo:Node |
effectInverse - Convenience class introduced to describe the inverse of an effect. It is used to express property chains.
Identifier: | http://openprovenance.org/model/opmo#effectInverse |
---|---|
Inverse: | opmo:effect |
OWL Type: | ObjectProperty |
Domain: | opmo:Node | Range: | opmo:Edge |
effectUsed - The effect of a Used edge.
Identifier: | http://openprovenance.org/model/opmo#effectUsed |
---|---|
OWL Type: | ObjectProperty | sub-property-of: | opmo:effect |
Domain: | opmo:Used | Range: | opmv:Process |
effectUsedInverse - The cause of a Process by means of a Used edge.
Identifier: | http://openprovenance.org/model/opmo#effectUsedInverse |
---|---|
Inverse: | opmo:effectUsed |
OWL Type: | ObjectProperty |
OWL Type: | InverseFunctionalProperty (uniquely identifying property) | sub-property-of: | opmo:effectInverse |
Domain: | opmv:Process | Range: | opmo:Used |
effectWasControlledBy - The effect of a WasControlledBy edge.
Identifier: | http://openprovenance.org/model/opmo#effectWasControlledBy |
---|---|
OWL Type: | ObjectProperty | sub-property-of: | opmo:effect |
Domain: | opmo:WasControlledBy | Range: | opmv:Process |
effectWasControlledByInverse - The cause of a Process by means of a WasControlledBy edge.
Identifier: | http://openprovenance.org/model/opmo#effectWasControlledByInverse |
---|---|
Inverse: | opmo:effectWasControlledBy |
OWL Type: | ObjectProperty |
OWL Type: | InverseFunctionalProperty (uniquely identifying property) | sub-property-of: | opmo:effectInverse |
Domain: | opmv:Process | Range: | opmo:WasControlledBy |
effectWasDerivedFrom - The effect of a WasDerivedFrom edge.
Identifier: | http://openprovenance.org/model/opmo#effectWasDerivedFrom |
---|---|
OWL Type: | ObjectProperty | sub-property-of: | opmo:effect |
Domain: | opmo:WasDerivedFrom | Range: | opmv:Artifact |
effectWasDerivedFromInverse - The cause of an Artifact by means of a WasDerivedFrom edge.
Identifier: | http://openprovenance.org/model/opmo#effectWasDerivedFromInverse |
---|---|
Inverse: | opmo:effectWasDerivedFrom |
OWL Type: | ObjectProperty |
OWL Type: | InverseFunctionalProperty (uniquely identifying property) | sub-property-of: | opmo:effectInverse |
Domain: | opmv:Artifact | Range: | opmo:WasDerivedFrom |
effectWasGeneratedBy - The effect of a WasGeneratedBy edge.
Identifier: | http://openprovenance.org/model/opmo#effectWasGeneratedBy |
---|---|
OWL Type: | ObjectProperty | sub-property-of: | opmo:effect |
Domain: | opmo:WasGeneratedBy | Range: | opmv:Artifact |
effectWasGeneratedByInverse - The cause of an Artifact by means of a WasGeneratedBy edge.
Identifier: | http://openprovenance.org/model/opmo#effectWasGeneratedByInverse |
---|---|
Inverse: | opmo:effectWasGeneratedBy |
OWL Type: | ObjectProperty |
OWL Type: | InverseFunctionalProperty (uniquely identifying property) | sub-property-of: | opmo:effectInverse |
Domain: | opmv:Artifact | Range: | opmo:WasGeneratedBy |
effectWasTriggeredBy - The effect of a WasTriggeredBy edge.
Identifier: | http://openprovenance.org/model/opmo#effectWasTriggeredBy |
---|---|
OWL Type: | ObjectProperty | sub-property-of: | opmo:effect |
Domain: | opmo:WasTriggeredBy | Range: | opmv:Process |
effectWasTriggeredByInverse - The cause of a Process by means of a WasTriggeredBy edge.
Identifier: | http://openprovenance.org/model/opmo#effectWasTriggeredByInverse |
---|---|
Inverse: | opmo:effectWasTriggeredBy |
OWL Type: | ObjectProperty |
OWL Type: | InverseFunctionalProperty (uniquely identifying property) | sub-property-of: | opmo:effectInverse |
Domain: | opmv:Process | Range: | opmo:WasTriggeredBy |
encoding - Denotes how a serialization was constructed. For instance, using the Java bean serializer to create an XML document, by applying a specified transformation to the application data, e.g. anonymisation, by passing a reference to the actual value, or by creating a set of RDF triples.
Identifier: | http://openprovenance.org/model/opmo#encoding |
---|---|
OWL Type: | DatatypeProperty |
Domain: | opmo:AValue | Range: | xsd:anyURI |
endTime - The time at which the agent ended controlling a process.
Identifier: | http://openprovenance.org/model/opmo#endTime |
---|---|
OWL Type: | ObjectProperty |
Domain: | opmo:WasControlledBy | Range: | opmo:OTime |
exactlyAt - The event occurred exactly at this time. This is meant to be an abbreviation for an OTime where noEarlierThan and noLaterThan are identical. exactlyAt should be disjoint from noLaterThan U noEarlierThan.
Identifier: | http://openprovenance.org/model/opmo#exactlyAt |
---|---|
OWL Type: | DatatypeProperty |
Domain: | opmo:OTime | Range: | xsd:dateTime |
hasAccount - Property that denotes the constituency relationship between an OPM graph and an account, meaning that the object of this property is an account of the subject.
Identifier: | http://openprovenance.org/model/opmo#hasAccount |
---|---|
OWL Type: | ObjectProperty | sub-property-of: | opmo:hasConstituent |
Domain: | opmo:OPMGraph | Range: | opmo:Account |
hasAgent - Property that denotes the constituency relationship between an OPM graph and an agent, meaning that the object of this property is an agent of the subject.
Identifier: | http://openprovenance.org/model/opmo#hasAgent |
---|---|
OWL Type: | ObjectProperty | sub-property-of: | opmo:hasConstituent |
Domain: | opmo:OPMGraph | Range: | opmv:Agent |
hasArtifact - Property that denotes the constituency relationship between an OPM graph and an artifact, meaning that the object of this property is an artifact of the subject.
Identifier: | http://openprovenance.org/model/opmo#hasArtifact |
---|---|
OWL Type: | ObjectProperty | sub-property-of: | opmo:hasConstituent |
Domain: | opmo:OPMGraph | Range: | opmv:Artifact |
hasContituent - (Abstract) Property that denotes the constituency relationship between an OPM graph and one of its constituent entity, meaning that the object of this property is a constituent of the subject.
Identifier: | http://openprovenance.org/model/opmo#hasConstituent |
---|---|
OWL Type: | ObjectProperty |
Domain: | opmo:OPMGraph |
hasDependency - Property that denotes the constituency relationship between an OPM graph and an edge, meaning that the object of this property is an edge of the subject.
Identifier: | http://openprovenance.org/model/opmo#hasDependency |
---|---|
OWL Type: | ObjectProperty | sub-property-of: | opmo:hasConstituent |
Domain: | opmo:OPMGraph | Range: | opmo:Edge |
hasProcess - Property that denotes the constituency relationship between an OPM graph and a process, meaning that the object of this property is a process of the subject.
Identifier: | http://openprovenance.org/model/opmo#hasProcess |
---|---|
OWL Type: | ObjectProperty | sub-property-of: | opmo:hasConstituent |
Domain: | opmo:OPMGraph | Range: | opmv:Process |
key - The key of a Property.
Identifier: | http://openprovenance.org/model/opmo#key |
---|---|
OWL Type: | ObjectProperty |
Domain: | opmo:Property |
label - This property provides a human-readable version of an OPM entity.
Identifier: | http://openprovenance.org/model/opmo#label |
---|---|
OWL Type: | DatatypeProperty | sub-property-of: | opmo:datapropertyAbbreviation |
Domain: | opmo:Annotable | Range: | xsd:string |
noEarlierThan - the event occurred no earlier than this time
Identifier: | http://openprovenance.org/model/opmo#noEarlierThan |
---|---|
OWL Type: | DatatypeProperty |
Domain: | opmo:OTime | Range: | xsd:dateTime |
noLaterThan - the event occurred no later than this time
Identifier: | http://openprovenance.org/model/opmo#noLaterThan |
---|---|
OWL Type: | DatatypeProperty |
Domain: | opmo:OTime | Range: | xsd:dateTime |
pname - The persistent name of an entity. Denotes a persistent name that can be used by OPM graph queriers to compare OPM entities across graphs. The scope of this name is intended to be global.
Identifier: | http://openprovenance.org/model/opmo#pname |
---|---|
OWL Type: | DatatypeProperty | sub-property-of: | opmo:datapropertyAbbreviation |
Domain: | opmo:Annotable | Range: | xsd:anyURI |
profile - This property applies to an OPM graph and denotes a profile that is supported by that graph.
Identifier: | http://openprovenance.org/model/opmo#profile |
---|---|
OWL Type: | DatatypeProperty | sub-property-of: | opmo:datapropertyAbbreviation |
Domain: | opmo:Annotable | Range: | xsd:string |
property - Object Property that associates an Annotation instance with a (set of) Propery(ies).
Identifier: | http://openprovenance.org/model/opmo#property |
---|---|
OWL Type: | ObjectProperty |
Domain: | opmo:Annotation | Range: | opmo:Property |
role - The role of an edge.
Identifier: | http://openprovenance.org/model/opmo#role |
---|---|
OWL Type: | ObjectProperty |
Domain: | opmo:Used |
opmo:WasControlledBy | |
opmo:WasGeneratedBy | Range: | opmo:Role |
startTime - The time at which the agent began controlling a process.
Identifier: | http://openprovenance.org/model/opmo#startTime |
---|---|
OWL Type: | ObjectProperty |
Domain: | opmo:WasControlledBy | Range: | opmo:OTime |
time - A piece of timing information associated with an EventEdge.
Identifier: | http://openprovenance.org/model/opmo#time |
---|---|
OWL Type: | ObjectProperty |
Domain: | opmo:EventEdge | Range: | opmo:OTime |
type - The subtype of an entity.
Identifier: | http://openprovenance.org/model/opmo#type |
---|---|
OWL Type: | DatatypeProperty | sub-property-of: | opmo:datapropertyAbbreviation |
Domain: | opmo:Annotable | Range: | xsd:anyURI |
used* - A multi-step used property.
Identifier: | http://openprovenance.org/model/opmo#usedStar |
---|---|
OWL Type: | ObjectProperty |
Domain: | opmv:Process | Range: | opmv:Artifact |
value - the value of a role or a property
Identifier: | http://openprovenance.org/model/opmo#value |
---|---|
OWL Type: | DatatypeProperty |
Domain: | opmo:Property |
opmo:Role |
wasDerivedFrom* - the transitive closure of wasDerivedFrom
Identifier: | http://openprovenance.org/model/opmo#wasDerivedFromStar |
---|---|
OWL Type: | ObjectProperty |
Domain: | opmv:Artifact | Range: | opmv:Artifact |
wasGeneratedBy* - A multi-step wasGeneratedBy edge.
Identifier: | http://openprovenance.org/model/opmo#wasGeneratedByStar |
---|---|
OWL Type: | ObjectProperty |
Domain: | opmv:Artifact | Range: | opmv:Process |
In the context of the Tupelo system, Joe Futrelle defined an ontology for OPM, which inspired an early design of this ontology.
This ontology co-evolved with the OPM XML Schema [OPMX] designed by Paul Groth and Luc Moreau
Li Ding, Joe Futrelle, Paul Groth, Daniel Garijo Verdejo, Mike Jewell, Simon Miles, Paolo Missier commented on previous versions of the ontology.
Jeff Pan provided useful input regarding property chains.
The alignment with OPMV followed discussions with Jun Zhao and Paul Groth.