- From: Chris Mungall <cjmungall@lbl.gov>
- Date: Sat, 25 Nov 2017 10:46:56 -0800
- To: "Graham Klyne" <gk@ninebynine.org>
- Cc: semantic-web <semantic-web@w3.org>
- Message-ID: <BAD65F67-F01D-4520-AE0A-32EA86E9666A@lbl.gov>
I had anticipated using prov:wasAssociatedWith, and not creating any new properties. The gap to be filled is on the side of subclasses of prov:Activity, for representing operations specific to ontology processing. Assuming such an ontology, does this rough sketch seem like a standard pattern? Is there a good analogous set of design patterns to follow (e.g. software compilation, scientific workflows)? ``` @prefix prov: <http://www.w3.org/ns/prov#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix obo: <http://purl.obolibrary.org/obo/> . @prefix opera: <http://example.org/OntologyProcessingExtractionReasoningOntology/> . ## Ontology header obo:foo.owl a owl:Ontology ; dc:title "..." ; prov:wasDerivedFrom obo:foo/foo-edit.owl ; prov:wasGeneratedBy obo:foo/op1 ; ## see below prov:wasAttributedTo obo:foo/editors ; ... ## Ontology provenance obo:foo/op1 a opera:ReasonOperation ; prov:used obo:foo/foo-edit.owl ; ## 'source code' prov:wasInformedBy <configuration??> ## what to use here? prov:startedAtTime "..." ; prov:endedAtTime "..." ; prov:wasAssociatedWith <github/mavenOrGithubIRIforROBOTversion??> ; ## Ontology below obo:FOO_0000001 a owl:Class ; ... ``` On 25 Nov 2017, at 0:29, Graham Klyne wrote: > Is there any reason that > http://www.w3.org/TR/prov-o/#wasAssociatedWith doesn't work for you? > > My recollection of PROV discussions is that involvement of human, > software and other agents in an activity was intended to be captured > using this (or qualifiedAssociation structures - cf. > http://www.w3.org/TR/prov-o/#qualifiedAssociation). > > (IIRC, the "qualifiedAssociation" and similar structures -- > http://www.w3.org/TR/prov-o/#description-qualified-terms -- were > introduced to avoid application-dependent (not a priori defined) > sub-properties, which would break OWL-QL compatibility of PROV, with > attendant reasoning performance challenges.) > > #g > -- > > On 24/11/2017 22:15, Chris Mungall wrote: >> Many ontologies such as those in the life-sciences have complex >> multi-step >> release pipelines: for example, using an OWL reasoner to assert >> direct inferred >> subClassOf axioms, adding owl annotations, verifying using SPARQL. It >> would be >> useful to capture the full operation graph, so that the provenance of >> the >> released ontology was explicit. >> >> PROV-O would provide the main framework for doing this. PROV-O >> predicates could >> be used directly. Existing standards could be used to represent the >> software >> agents involved. AFAICT there is a gap for an ontology for >> representing the >> ontology processing operations (subclasses of prov:Activity). >> >> Is there an existing effort that could be piggy-backed on here? This >> could be >> subsumed into an effort that seeks to represent for example >> transformations >> between named graphs. Alternatively, the ontology build pipeline >> could be >> conceived either as a software release process or a scientific >> workflow. For the >> latter, there are a number of ontologies but it's not clear we'd get >> any benefit >> using these rather than PROV-O directly. >> >> If there is no existing work being done here, I'll propose a draft of >> activity >> classes and design patterns, and we can do a demo implementation in >> our ontology >> release tool [ROBOT](https://github.com/ontodev/robot). But I'd >> rather not >> duplicate any existing efforts.
Received on Saturday, 25 November 2017 18:47:15 UTC