PIL OWL Ontology Meeting 2011-11-08

From Provenance WG Wiki
Jump to: navigation, search

Meeting Information

prov-wg - Modeling Task Force - OWL group telecon


Agenda


Discussions

Modeling an algebraic division with qualified wasDerivedFrom

40/5=8, 8/2=4
2*4 = 8
## a kind of role encapsulation
##wasDerivedFrom(entityInRole(8, answer), entityInRole(4, multipliciator))
In original PROV-O EntityInRole:
:eightAnswer a prov:EntityInRole ;
   prov:assumedRole :answer ; 
   prov:assumedBy :eight ;
   prov:wasDerivedFrom [
       a prov:EntityInRole, :Multiplicator ;
       prov:assumedBy :four ;
       prov:assumedRole :multiplicator 
   ] .

4 (as result) wasDerivedFrom 8(as numerator) and 2(as denominator)

:b prov:wasDerivedFrom :a     "was DM"
   prov:qualifiedDerivation [ # THIS IS NOT supported by DM right now.
          a prov:Derivation; my:PhotoCopy;
          prov:qualifiedEntity :a;   # was renamed from prov:entity
         :foo :bar;                       # arbitrary qualifiers
         prov:role :goofy;      # 
    ];
.

prov:Derivation
    rdfs:subClassOf prov:QualifiedInvovlement;
.


@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix owl:  <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix time: <http://www.w3.org/2006/time#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix prov: <http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/ProvenanceOntology.owl#> .
@prefix nfo: <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#> .
@prefix app: <http://www.w3.org/TR/2011/WD-prov-dm-20111018/app#> .
@prefix :    <http://www.w3.org/TR/2011/WD-prov-dm-20111018/#> .

# Unqualified derivation

:four prov:wasDerivedFrom :two ;
        prov:wasDerivedFrom :eight .

    
# Qualified derivation (by making implied PE explicit):

four prov:wasGeneratedBy :algebraic_operation . 

:algebraic_operation   # we are allowed to name it; it's in the DM (third param)

   rdfs:seeAlso <http://www.w3.org/TR/2011/WD-prov-dm-20111018/#pe-linked-derivationExpression>;
   dcterms:description "wasDerivedFrom(e5,e3,algebraic_operation,qualifier(role='numerator'),qualifier(role='result'))", 
                                   "4 (when playing role of result) wasDerivedFrom 8 (when playing role of numerator)"
   a prov:ProcessExecution, math:DivisionProcessExecution;

   prov:used :two;
   prov:qualifedUsage [
      a prov:Usage;
      prov:entity :two; #<---entity or qualifiedEntity? :P entityInQualification 
      prov:role math:denominator;
   ];
   
   prov:used :eight;
   prov:qualifedUsage [
      a prov:Usage;
      prov:entity :eight; 
      prov:role math:numerator;
   ];

   prov:generated :four;
   prov:qualifedGeneration [
      a prov:Generation;
      prov:entity :four; 
      prov:role math:answer;
   ];
.

(unsupported) Concern that ProcessExecutions cannot be "roled"

ProcessExecution mathematical_operation (e1)

mathematical_operation(algebraic division) :used 8(numerator) :used 2(denominator)

# No need to role the PE - just make a second PE.
:calculator a prov:ProcessExecution, prov:Agent, math:Operation .
:division prov:wasControlledBy :calculator ;
    prov:qualifiedControl [
         a math:Division ;
         prov:qualifiedEntity :calculator ;
         prov:role :Division 
    ] .

math:Division rdfs:subClassOf math:Operation .
:composite_computation_that_should_be_split_up
    a prov:ProcessExecution;
    
    # sub-process 1: division (we need composition)
    
    prov:used :eight;
    prov:qualifiedUsage [
        a prov:Usage;
        prov:entity :eight;
        prov:role math:numerator;
    ];
    
    prov:used :two;
    prov:qualifiedUsage [
        a prov:Usage;
        prov:entity :two;
        prov:role math:denominator;
    ];
    
    # sub-process 2: addition
    
    prov:used :eight;
    prov:qualifiedUsage [
        a prov:Usage;
        prov:entity :eight;
        prov:role math:addend;
    ];
    
    prov:used :two;
    prov:qualifiedUsage [
        a prov:Usage;
        prov:entity :two;
        prov:role math:addend;
    ];
.
mathematical_operation(algebraic addition) :used 8() :used 2()

So e1 is a long running process? Like a calculator (session).

composite PEs.

subtypes of ProcessExecutions vs roles of Entities


instances ProcessExecutions are "self-roling".


juice was derived from two oranges

document was signed by senator John Glenn (as the Speaker of the House)

Using the components aggregation design to include the (just) approved QualifiedInvolvement design

http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/ProvenanceOntology.owl has been the authoritative OWL file.

http://dvcs.w3.org/hg/prov/file/tip/ontology/component-aggregations/prov.ttl will be the new authoritative OWL file (which is created using the component aggregation technique). It currently only includes one component, but that will be replaced by importing http://dvcs.w3.org/hg/prov/raw-file/tip/ontology/ProvenanceOntology.owl and the various components required for QualifiedInvolvement (e.g., http://dvcs.w3.org/hg/prov/file/tip/ontology/components/Generation.ttl and http://dvcs.w3.org/hg/prov/file/tip/ontology/components/QualifiedInvolvement.ttl)

Tim will modify http://dvcs.w3.org/hg/prov/file/tip/ontology/component-aggregations/prov.ttl, which will create http://dvcs.w3.org/hg/prov/file/tip/ontology/component-aggregations/prov.owl, which will become the new "authoritative" PROV-O owl file.

Satya: "the owl file must contain all of the axioms directly - no imports"

Tim: "no problem" they will be directly in http://dvcs.w3.org/hg/prov/file/tip/ontology/component-aggregations/prov.owl

Tim will do this today.