W3C home > Mailing lists > Public > public-prov-wg@w3.org > February 2012

Re: Update on PROV-O OWL file (Action item 55)

From: Ivan Herman <ivan@w3.org>
Date: Thu, 16 Feb 2012 10:25:52 +0100
Cc: Provenance Working Group WG <public-prov-wg@w3.org>
Message-Id: <11188768-2366-435E-AE58-64A7FBFE64BF@w3.org>
To: Satya Sahoo <satya.sahoo@case.edu>
Satya et al,

My apologies for chiming in from the 'outside'...

I am not a logician, so you may want to check this with a real expert. But in my reading of the OWL 2 Profile document[1], this OWL ontology does not fall into OWL 2 RL[2]. If that is true, that may be a problem; it may jeopardize its acceptance by large communities that do not think in terms of more complex OWL reasoners but which do begin to adopt OWL 2 RL.

The issue I have is with:

<owl:ObjectProperty rdf:about="hadTemporalValue">
    <rdf:type rdf:resource="&owl;IrreflexiveProperty"/>
    <rdfs:label xml:lang="en">has temporal value</rdfs:label>
    <rdfs:range rdf:resource="Time"/>
    <rdfs:domain>
       <owl:Class>
            <owl:unionOf rdf:parseType="Collection">
                <rdf:Description rdf:about="Activity"/>
                <rdf:Description rdf:about="Entity"/>
                <rdf:Description rdf:about="QualifiedInvolvement"/>
            </owl:unionOf>
        </owl:Class>
    </rdfs:domain>
</owl:ObjectProperty>

Indeed, if I look at the formal spec of the OWL 2 RL document, it says: 

ObjectPropertyDomain := 'ObjectPropertyDomain' '(' axiomAnnotations ObjectPropertyExpression superClassExpression ')'

with 

superClassExpression :=
    Class other than owl:Thing |
    superObjectIntersectionOf | superObjectComplementOf |
    superObjectAllValuesFrom | ObjectHasValue | superObjectMaxCardinality |
    DataAllValuesFrom | DataHasValue | superDataMaxCardinality
superObjectIntersectionOf := 'ObjectIntersectionOf' '(' superClassExpression superClassExpression { superClassExpression } ')'
superObjectComplementOf := 'ObjectComplementOf' '(' subClassExpression ')'
superObjectAllValuesFrom := 'ObjectAllValuesFrom' '(' ObjectPropertyExpression superClassExpression ')'
superObjectMaxCardinality :=
    'ObjectMaxCardinality' '(' zeroOrOne ObjectPropertyExpression [ subClassExpression ] ')' |
    'ObjectMaxCardinality' '(' zeroOrOne ObjectPropertyExpression owl:Thing ')'
superDataMaxCardinality := 'DataMaxCardinality' '(' zeroOrOne DataPropertyExpression [ DataRange ] ')' 

ie, using a union of classes as part of the domain is not allowed. The rules also express this. And, although a layperson in terms of hard core logic, I can see why: if a resource is the subject of that property, a simple rule engine _cannot_ find out which of the constituents of the union it belongs to. Ie, it cannot make any intelligent deduction. 

A similar issue arises with:

<owl:Class rdf:about="Time">
    <owl:equivalentClass>
        <owl:Class>
            <owl:unionOf rdf:parseType="Collection">
                <rdf:Description rdf:about="Instant"/>
                <rdf:Description rdf:about="Interval"/>
            </owl:unionOf>
        </owl:Class>
    </owl:equivalentClass>
    <rdfs:comment rdf:datatype="&xsd;string"
        >TemporalEntity represents time information, both time instant (having 0 time duration) and interval (having a non-zero duration).</rdfs:comment>
</owl:Class>

The corresponding functional spec for OWL 2 RL is indeed:

EquivalentClasses := 'EquivalentClasses' '(' axiomAnnotations equivClassExpression equivClassExpression { equivClassExpression } ')'

equivClassExpression :=
    Class other than owl:Thing |
    equivObjectIntersectionOf |
    ObjectHasValue |
    DataHasValue
equivObjectIntersectionOf := 'ObjectIntersectionOf' '(' equivClassExpression equivClassExpression { equivClassExpression } ')'

I.e., again, we do not have a Union.

I am not sure what this means back in the model that is transcribed into OWL. 

Ivan


[1] http://www.w3.org/TR/owl2-profiles/
[2] http://www.w3.org/TR/owl2-profiles/#OWL_2_RL

On Feb 14, 2012, at 23:24 , Satya Sahoo wrote:

> Hi all,
> After two meetings by the PROV-O team on Feb 13 and Feb 14 [1], we have updated the OWL file and made it available for review by the WG [2].
> 
> We would like to note that we support only the wasStartedBy defined between an activity and an agent, and not wasStartedBy defined between activity and activity, and activity and entity (the definition of wasStartedBy is defined in three ways by DM-TPWD in Section 6.2 and Section 5.3.2.2).
> 
> All feedback is welcome!
> 
> Thanks.
> 
> Best,
> Satya
> 
> [1] Minutes of the PROV-O telcon: http://www.w3.org/2011/prov/wiki/PIL_OWL_Ontology_Meeting_2012-02-13
> [2] PROV-O OWL File: http://dvcs.w3.org/hg/prov/raw-file/default/ontology/ProvenanceOntology.owl


----
Ivan Herman, W3C Semantic Web Activity Lead
Home: http://www.w3.org/People/Ivan/
mobile: +31-641044153
FOAF: http://www.ivan-herman.net/foaf.rdf







Received on Thursday, 16 February 2012 09:23:32 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Thursday, 26 April 2012 13:06:56 GMT