Warning:
This wiki has been archived and is now read-only.

PIL OWL Ontology Meeting 2011-09-12

From Provenance WG Wiki
Jump to: navigation, search

Meeting Information

prov-wg - Modeling Task Force - OWL group telecon

Attendees

  • Tim
  • Satya
  • Khalid + Stian
  • Daniel
  • James
  • Luc
  • Paolo
  • Jim

Agenda

Paolo

  • Roles
  • entity attributes
  • specialize properties (like :used) instead of specific roles

Roles

Khalid ordering something at a restaurant (role is orderer).

Daniel: 

Satya - instances assume different Roles (as a parent, as a post doc, as a customer, etc).

Paolo - is this in the context of a process execution? Daniel, Khalid - yes Khalid

Luc: Role is tip of iceberg. How to associate time? model has:

  • start, end PE
  • used of entities
  • generation of entities.

(a PE using entity 1 at T1 and again at T2 at a different time (and context) in same process execution)

example 1 (Tim)

:khalid_restaurant_visit
   a prov:ProcessExecution;
   dcterms:description "Khalid went to the restaurant and ordered some food";
   time:hasBeginning :time_1;
   prov:used, restaurant:hadCustomer, diet:hadEater :khalid;
   prov:contextualizedEntity [
       a restaurant:Customer, prov:Role;
        prov:contextualized :khalid;
        time:atTime :time_1;
    ];
   # Can an entity be generated and then later used by same PE? How do 
   # we know which contextualization is which?
   prov:contextualizedEntity [
       a restaurant:Receiver, prov:Role;
        prov:contextualized :khalid;
        time:atTime :time_3;
    ];
    time:hasEnd :time_10;
.
:khalid a foaf:Person .

example 2 (Stian and Khalid's branch)

:khalid_restaurant_visit
   a prov:ProcessExecution;
   dcterms:description "Khalid went to the restaurant and ordered some food";
   time:hasBeginning :time_1;
   prov:used, restaurant:hadCustomer, diet:hadEater :khalid;  #  restaurant:hadCustomer and diet:hadEater are rdfs:subPropertyOf prov:used
   prov:usedEntityInContext [ # much nicer name :-) -Tim
       a restaurant:Customer, prov:Role;
        prov:contextualized :khalid;
        time:atTime :time_1;
    ];
   prov:usedEntityInContext [
       a restaurant:Receiver, prov:Role;
        prov:contextualized :khalid;
        time:atTime :time_3;
    ];
    prov:usedEntityInContext [
        # Internally also used by the 'cooking' PE which is part of the restaurant visit
       a restaurant:CookedOrder, prov:Role;
        prov:contextualized :restaurantOrder;
        time:atTime :time_3;
        geo:location restaurant:kitchen ;
    ];
   prov:generatedEntityInContext [ #??? allow generation in multiple roles? (would mean both context are the same I guess)
       a restaurant:PlacedOrder, prov:Role;
        prov:contextualized :restaurantOrder;
        time:atTime :time_3;
    ];
   prov:generated :restaurantOrder;   
    time:hasEnd :time_10;
.
:khalid a foaf:Person .

example 3 (Tim's branch of Tim)

Luc: why not call a cat a cat? (Tim's response draft here:)

Paolo: Trick is to absorb into Entities

:khalid_restaurant_visit
   a prov:ProcessExecution;
   dcterms:description "Khalid went to the restaurant and ordered some food";
   time:hasBeginning :time_1;
   prov:used, restaurant:hadCustomer, restaurant:orderer [ a prov:Entity; :involved :khalid; time:hasBeginning :time_1; time:hasEnding :time_2 ];
   prov:used diet:hadEater [ a prov:Entity; :involved :khalid; time:hasBeginning :time_1; time:hasEnding :time_10 ];
   prov:contextualizedEntity [ # this WOULD be the :used property.
       a restaurant:Customer, prov:Role;
        prov:contextualized :khalid;
        time:atTime :time_1;
    ];
    # Can we get away with only prov:contextualizedEntity without saying prov:used for the same entity
       # Can an entity be generated and then later used by same PE? How do 
   # we know which contextualization is which?
   prov:contextualizedEntity [
       a restaurant:Receiver, prov:Role;
        prov:contextualized :khalid;
        time:atTime :time_3;
    ];
    time:hasEnd :time_10;
.
:khalid a foaf:Person .


propose axiom: prov:used rdfs:range prov:UsedEntity .

Extending core ontology

Tim drafted: http://inference-web.org/wiki/File:Crime.owl.png

Satya proposes: http://wiki.knoesis.org/index.php/File:ExtendingProvenir.jpg

news:hasFilePath need to extend prov:hasLocation. need to change range of hasFilePath to a resource (to match objectproperty) need a second domain to compare/contrast how one would elaborate. (elaborate hasLocation with wgs:lat/wgs:long)


James' semantics strawman model

relating URIs to variables of things.

importance of ID other than URIs.

importance of non-URI identifiers, using firearms' serial numbers as an example:


Tim wanted to follow up on Satya's suggestion that "URIs are good enough" to identify things.

Although this is true and "the way of the semantic web", I'd like to suggest we keep the non-URI ID notion around.

To illustrate the importance of non-URI identifiers, using firearms' serial numbers as an example:

1) David: "When I sold Susie the gun <http://discountshooters.com/id/inventory/shoot-123> yesterday, it had serial number SHOOT-123. Susie's drivers license ID was DRIVER-22" 2) Cooper: "When I arrived on the scene, the pistol <http://crimefighers.gov/id/evidence/pistol-987> had serial number SHOOT-123. We found <http://crimefighters.gov/id/evidence/card-987>, a dot:NewYorkDriversLicense, with dot:id DRIVER-22" 3) Laura: "By the way, the gun that David sold Susie is the same as the one Cooper found at the crime scene."

We've got Susie the Suspect, David the Dealer, and Cooper the Cop, and Laura the Layer.

The Dealer creates URIs for his Linked Data inventory system and uses the serial number as the identifying part of the URI (which is good Linked Data design). The Cop's system needed to name the evidence before he could describe it. Also, the system needs to be used generically, not just for guns as in Dealer's case. One MAY assume that the gun sold is the gun found, IF they are willing to assume that the serial number hasn't been tampered with.

The reality is, the world mints URIs faster than they can reuse them, and in many cases (as shown in the firearm example), information systems SHOULD mint URIs appropriate for their purposes and let others identify them if they wish.