1 / 22

Open Provenance Model Tutorial Session 3: OPM Serializations

Open Provenance Model Tutorial Session 3: OPM Serializations. Luc Moreau L.Moreau@ecs.soton.ac.uk University of Southampton. Session 3: Aims. In this session, you will learn about: The XML Schema for OPM The OWL ontology for OPM. Session 3: Contents. OPM Layered Architecture

kieve
Download Presentation

Open Provenance Model Tutorial Session 3: OPM Serializations

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Open Provenance Model TutorialSession 3: OPM Serializations Luc Moreau L.Moreau@ecs.soton.ac.uk University of Southampton

  2. Session 3: Aims In this session, you will learn about: • The XML Schema for OPM • The OWL ontology for OPM

  3. Session 3: Contents • OPM Layered Architecture • XML Binding • RDF Binding • RDF Binding with OWL Inferences • Conclusion

  4. OPM Layered Architecture

  5. OPM Layered Model OPM Domain Specialization: Workflow, Web Technology Bindings: XML, RDF OPM Essential Profiles: Collections, Attribution OPM based APIs: record, query OPM Core OPM Sig

  6. XML Binding

  7. OPM Graph <opm:opmGraphxmlns:opm="http://openprovenance.org/model/v1.1.a" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://example.com/"> <opm:accounts/> <opm:processes> <opm:artifacts/> <opm:agents/> <opm:causalDependencies/> </opm:opmGraph>

  8. OPM Process <opm:process id="p1"> <opm:account ref="black"/> <opm:label value="align_warp 1"/> <opm:annotation id="an1_p1"> <opm:propertyuri="http://openprovenance.org/primitives#primitive"> <opm:valuexsi:type="xsd:string"> http://openprovenance.org/primitives#align_warp </opm:value> </opm:property> </opm:annotation> </opm:process> id: xs:ID implies uniqueness within document account membership label: for pretty printing annotation: set of property key value pairs

  9. OPM Artifact <opm:artifact id="a1"> <opm:account ref="black"/> <opm:label value="Reference Image"/> <opm:type value="http://openprovenance.org/primitives#File"/> <opm:annotation id="an1_a1"> <opm:propertyuri="http://openprovenance.org/primitives#path"> <opm:valuexsi:type="xsd:string"> /shomewhere/pc1/reference.img </opm:value> </opm:property> </opm:annotation> </opm:artifact> id: xs:ID implies uniqueness within document account membership label: for pretty printing annotation: set of property key value pairs opm:type: a predefined OPM annotation, with compact syntax

  10. OPM edges <opm:used> <opm:effect ref="p1"/> <opm:role value="img"/> <opm:cause ref="a3"/> <opm:account ref="black"/> </opm:used> <opm:wasGeneratedBy> <opm:effect ref="a30"/> <opm:role value="out"/> <opm:cause ref="p15"/> <opm:account ref="black"/> </opm:wasGeneratedBy> <opm:wasDerivedFrom> <opm:effect ref="a11"/> <opm:cause ref="a1"/> <opm:account ref="black"/> </opm:wasDerivedFrom> ref: refers to nodes ids

  11. RDF Binding

  12. History of RDF bindings • Tupelo (Futrelle) • OWL ontology from Tupelo • OWL ontology from Paulson • OWL ontology in OPM Toolbox • OWL ontology by Tetherless Team (PC3)

  13. OWL Ontology for OPM (1) • OPM toolbox allows for conversion from XML to RDF and back • Ontology design principle: • XML toplevel element corresponds to a OWL class • Introduce an OPMGraph class • Make graph membership explicit by means of properties

  14. OWL Ontology for OPM (1)

  15. OWL Ontology for OPM (1) // Class: http://openprovenance.org/ontology#Used SubClassOf(UsedObjectSomeValuesFrom(cause Artifact)) SubClassOf(UsedObjectAllValuesFrom(cause Artifact)) SubClassOf(UsedObjectSomeValuesFrom(role Role)) SubClassOf(UsedObjectAllValuesFrom(role Role)) SubClassOf(UsedObjectSomeValuesFrom(effect Process)) SubClassOf(UsedObjectAllValuesFrom(effect Process)) SubClassOf(Used Edge) DisjointClasses(UsedWasTriggeredBy) DisjointClasses(UsedWasControlledBy) DisjointClasses(UsedWasDerivedFrom) DisjointClasses(UsedWasGeneratedBy)

  16. OWL Ontology for OPM (1) pc1:p5 a opm:Process ; opm:account pc1:black ; opm:label "Reslice 1" . pc1:an1_p5 a opm:Annotation . pc1:pr_18 a opm:Property ; opm:uri "http://openprovenance.org/primitives#primitive" ; opm:value "http://openprovenance.org/primitives#reslice" . pc1:an1_p5 opm:property pc1:pr_18 . pc1:p5 opm:annotation pc1:an1_p5 . pc1:u_103 a opm:Used ; opm:effect pc1:p1 ; opm:role pc1:r_102 ; opm:cause pc1:a3 ; opm:account pc1:black . pc1:gr_273 a opm:OPMGraph ; opm:hasAccount pc1:black ; opm:hasProcess pc1:p5 , ...; opm:hasArtifact pc1:a25p, ...; opm:hasDependency pc1:u_103, ...

  17. OWL Ontology for OPM (1) • Limitations • OPM edges are reified, i.e. represented as classes and not properties • Transitive closure of OPM edges cannot be expressed • Annotations are reified too • Not natural RDF representation • See http://www.jenitennison.com/blog/node/142 for a discussion • But fully compatible with XML!

  18. RDF Binding and OWL Inferences

  19. OWL Ontology for OPM (2) • Define properties to represent OPM edges • Use OWL property chains to infer these edges

  20. OWL Ontology for OPM (2) // Class: http://openprovenance.org/ontology#Used SubClassOf(UsedObjectSomeValuesFrom(causeUsed Artifact)) SubClassOf(UsedObjectSomeValuesFrom(role Role)) SubClassOf(UsedObjectSomeValuesFrom(effectUsed Process)) SubClassOf(Used Edge) // Object property: http://openprovenance.org/ontology#_used SubObjectPropertyOf(_used _used_star) ObjectPropertyDomain(_used Process) ObjectPropertyRange(_used Artifact) SubObjectPropertyOf(SubObjectPropertyChain(effectUsed-1 causeUsed) _used) // Object property: http://openprovenance.org/ontology#_used_star ObjectPropertyDomain(_used_star Process) ObjectPropertyRange(_used_star Artifact) SubObjectPropertyOf(SubObjectPropertyChain(_used _wasDerivedFrom_star) _used_star)

  21. OWL Ontology (2) • OPM inferences could alternatively be encoded as SWRL rules • Problematic in the presence of multiple accounts: it is meaningless to make inference over properties corresponding to edges belonging to multiple accounts • A solution is to use named graphs to represent accounts • What is the semantics of OWL+SWRL+NamedGraphs+SPARQL? What is the complexity?

  22. Conclusion on OPM Bindings • Two compatible bindings for RDF and XML, with lossless conversions (up to node naming) • Converter makes extra-assumptions on identifiers (xs:ID in XML schema and URI in RDF) • Scope of an OPM graph is not clear in RDF • What other binding would be useful? • Challenges in implementing OPM with Semantic Web technologies • Jun Zhao’s OPMV is an emerging alternative serialization of OPM in RDF

More Related