Open Provenance Model (OPM) OWL Specification

Working draft: 12 October 2010

This version:
http://openprovenance.org/model/opmo-20101012
Latest version:
http://openprovenance.org/model/opmo
Last Update:
Date:
Editor:
Luc Moreau (University of Southampton)
Contributors in alphabetical order (see acknowledgements):
Li Ding (Rensselaer Polytechnic Institute)
Joe Futrelle (NCSA)
Daniel Garijo Verdejo
Paul Groth (Vrije University of Amsterdam)
Mike Jewell (University of Southampton)
Simon Miles (King's College London)
Paolo Missier (University of Manchester)
Jeff Pan (University of Aberdeen)
Jun Zhao (University of Oxford)

Abstract

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].

Status of this Document

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.

Table of Contents

  1. Introduction
  2. OPMO ontology at a glance
  3. OPMO ontology overview
    1. Simple Example
  4. Cross-reference for OPMO classes and properties
  5. References
  6. Acknowledgements

1 Introduction

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].

2. OPMO ontology at a glance

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,

3. OPMO ontology overview

OPM define a notion of graphs. There are three kinds of nodes: Artifacts, Agents, Processes.

OPM Nodes

Five kinds of edges are supported: Used, WasGeneratedBy (WGB), WasDerivedFrom (WDF), WasControlledBy (WCB) and WasTriggeredBy (WTB)

OPM Edges

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.

OPM Dependencies

Nodes, edges, and annotations can belong to Accounts. A graph enumerates the nodes, edges, annotations and accounts it contains.

OPM Accounts

Annotable entities can be associated with Annotations.

OPM Annotations

3.1. Example

Here is a simple OPM graph, inspired from the First Provenance Challenge workflow. Using the OPM graphical notation, we have the following OPM graph:

PC1

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.

  • Representation in RDF N3 notation
  • Representation in XML.
  • 4. Cross-reference for OPMO classes and properties

    Class: opmo:AValue

    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

    [back to top]

    Class: opmo:Account

    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

    [back to top]

    Class: opmo:Annotable

    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

    [back to top]

    Class: opmo:Annotation

    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

    [back to top]

    Class: opmo:Edge

    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

    [back to top]

    Class: opmo:Entity

    Entity - The class of all constituents of an OPM graph.

    Identifier: http://openprovenance.org/model/opmo#Entity

    [back to top]

    Class: opmo:EventEdge

    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

    [back to top]

    Class: opmo:Node

    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

    [back to top]

    Class: opmo:OPMGraph

    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

    [back to top]

    Class: opmo:OTime

    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

    [back to top]

    Class: opmo:Property

    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

    [back to top]

    Class: opmo:Role

    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

    [back to top]

    Class: opmo:Used

    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

    [back to top]

    Class: opmo:WasControlledBy

    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

    [back to top]

    Class: opmo:WasDerivedFrom

    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

    [back to top]

    Class: opmo:WasGeneratedBy

    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

    [back to top]

    Class: opmo:WasTriggeredBy

    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

    [back to top]

    Property: opmo:account

    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

    [back to top]

    Property: opmo:annotation

    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

    [back to top]

    Property: opmo:avalue

    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

    [back to top]

    Property: opmo:cause

    cause - The cause of an Edge.

    Identifier: http://openprovenance.org/model/opmo#cause
    OWL Type:ObjectProperty
    Domain: opmo:Edge
    Range: opmo:Node

    [back to top]

    Property: opmo:causeUsed

    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

    [back to top]

    Property: opmo:causeWasControlledBy

    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

    [back to top]

    Property: opmo:causeWasDerivedFrom

    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

    [back to top]

    Property: opmo:causeWasGeneratedBy

    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

    [back to top]

    Property: opmo:causeWasTriggeredBy

    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

    [back to top]

    Property: opmo:content

    content - Content of the serial representation of Artifact.

    Identifier: http://openprovenance.org/model/opmo#content
    OWL Type:DatatypeProperty
    Domain: opmo:AValue
    Range: rdfs:Literal

    [back to top]

    Property: opmo:datapropertyAbbreviation

    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

    [back to top]

    Property: opmo:effect

    effect - The effect of an Edge.

    Identifier: http://openprovenance.org/model/opmo#effect
    OWL Type:ObjectProperty
    Domain: opmo:Edge
    Range: opmo:Node

    [back to top]

    Property: opmo:effectInverse

    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

    [back to top]

    Property: opmo:effectUsed

    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

    [back to top]

    Property: opmo:effectUsedInverse

    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

    [back to top]

    Property: opmo:effectWasControlledBy

    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

    [back to top]

    Property: opmo:effectWasControlledByInverse

    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

    [back to top]

    Property: opmo:effectWasDerivedFrom

    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

    [back to top]

    Property: opmo:effectWasDerivedFromInverse

    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

    [back to top]

    Property: opmo:effectWasGeneratedBy

    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

    [back to top]

    Property: opmo:effectWasGeneratedByInverse

    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

    [back to top]

    Property: opmo:effectWasTriggeredBy

    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

    [back to top]

    Property: opmo:effectWasTriggeredByInverse

    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

    [back to top]

    Property: opmo:encoding

    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

    [back to top]

    Property: opmo:endTime

    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

    [back to top]

    Property: opmo:exactlyAt

    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

    [back to top]

    Property: opmo:hasAccount

    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

    [back to top]

    Property: opmo:hasAgent

    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

    [back to top]

    Property: opmo:hasArtifact

    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

    [back to top]

    Property: opmo:hasConstituent

    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

    [back to top]

    Property: opmo:hasDependency

    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

    [back to top]

    Property: opmo:hasProcess

    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

    [back to top]

    Property: opmo:key

    key - The key of a Property.

    Identifier: http://openprovenance.org/model/opmo#key
    OWL Type:ObjectProperty
    Domain: opmo:Property

    [back to top]

    Property: opmo:label

    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

    [back to top]

    Property: opmo:noEarlierThan

    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

    [back to top]

    Property: opmo:noLaterThan

    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

    [back to top]

    Property: opmo:pname

    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

    [back to top]

    Property: opmo:profile

    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

    [back to top]

    Property: opmo:property

    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

    [back to top]

    Property: opmo:role

    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

    [back to top]

    Property: opmo:startTime

    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

    [back to top]

    Property: opmo:time

    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

    [back to top]

    Property: opmo:type

    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

    [back to top]

    Property: opmo:usedStar

    used* - A multi-step used property.

    Identifier: http://openprovenance.org/model/opmo#usedStar
    OWL Type:ObjectProperty
    Domain: opmv:Process
    Range: opmv:Artifact

    [back to top]

    Property: opmo:value

    value - the value of a role or a property

    Identifier: http://openprovenance.org/model/opmo#value
    OWL Type:DatatypeProperty
    Domain: opmo:Property
    opmo:Role

    [back to top]

    Property: opmo:wasDerivedFromStar

    wasDerivedFrom* - the transitive closure of wasDerivedFrom

    Identifier: http://openprovenance.org/model/opmo#wasDerivedFromStar
    OWL Type:ObjectProperty
    Domain: opmv:Artifact
    Range: opmv:Artifact

    [back to top]

    Property: opmo:wasGeneratedByStar

    wasGeneratedBy* - A multi-step wasGeneratedBy edge.

    Identifier: http://openprovenance.org/model/opmo#wasGeneratedByStar
    OWL Type:ObjectProperty
    Domain: opmv:Artifact
    Range: opmv:Process

    [back to top]

    5. References

    6. Acknowledgements

    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.