Re: POWDER-S Schema - revised version

Thanks very much for this Stasinos - it's really helpful. I hope you 
don't mind me sending my reply to the public list - this amount of 
thought from you really ought to see the light of day.

As you'll appreciate, there are some aspects of this that I'm not able 
to fully understand, however, I do get the thrust of what you're saying. 
Let's test that... We could define wdrs:issuedby as an owl:annotation 
property thus

<owl:AnnotationProperty rdf:about="#issuedby"> 
  <rdfs:range>
     <owl:Class>
       <owl:unionOf rdf:parseType="Collection">
         <owl:Class rdf:about="&dcterms;creator"/>
         <owl:Class rdf:about="&foaf;maker"/>
       </owl:unionOf>
      </owl:Class>
  </rdfs:range>
</owl:AnnotationProperty>

This says that issuedby is an annotation property (and therefore 
describes an OWL ontology) and that its range is precisely the union of 
dcterms:Agent and foaf:Agent. I think you favour a definition that 
allows a slightly more loose definition so that other things could be 
the object of an issuedby property? On the plus side, that means people 
can use other vocabularies to identify themselves which they may want to 
do. On the downside, they could use a system that is very particular and 
isn't friendly to the generic case. Hmmm...

I think I favour the slightly more restrictive approach since we want to 
make it clear what people are expected to do when they create POWDER 
docs. We have a lot of flexibility in the way IRI sets and descriptor 
sets are created - it's the attribution bit that we're talking about 
here and we've deliberately been much more prescriptive as this is the 
basis of any trust system around POWDER.

Phil.


Stasinos Konstantopoulos wrote:
> Andrea, all,
>
> as briefly discussed on yesterday's telco, there is two issues that need
> to be resolved:
>
> (A) the schema you posted asserts:
>
>   <rdf:Property rdf:about="#issuedby">
>     <rdfs:subPropertyOf rdf:resource="&dcterms;creator" />
>     <rdfs:subPropertyOf rdf:resource="&foaf;maker" />
>   </rdf:Property>
>
> which entails that the range of our property is the intersection of
> dc:Agent and foaf:Agent, which, I believe, is not the intended effect.
> We rather need to say:
>
> (A1) something along the lines of either dc:Agent OR foaf:Agent
> instances being OK:
>
>   <rdf:Property rdf:about="#issuedby">
>     <rdfs:range>
>       <owl:Class>
>         <owl:unionOf rdf:parseType="Collection">
>           <owl:Class rdf:about="&dcterms;creator"/>
>           <owl:Class rdf:about="&foaf;maker"/>
>         </owl:unionOf>
>       </owl:Class>
>     </rdfs:range>
>   </rdf:Property>
>
> (A2) or achieve a similar effect by asserting that issuedby is a
> super-property of these other two properties:
>
> <rdf:Property about="#issuedby"/>
>
> <rdf:Description rdf:about="http://purl.org/dc/terms/creator">
>   <rdfs:subPropertyOf rdf:resource="#issuedby"/>
> </rdf:Description>
>
> <rdf:Description rdf:about="http://xmlns.com/foaf/0.1/maker">
>   <rdfs:subPropertyOf rdf:resource="#issuedby"/>
> </rdf:Description>
>
> Given that: [1,2]
>
>   <rdf:Description rdf:about="http://purl.org/dc/terms/creator">
>     <rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
>     <rdfs:range rdf:resource="http://purl.org/dc/terms/Agent"/>
>     <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/elements/1.1/creator"/>
>     <rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/contributor"/>
>   </rdf:Description>
>
>   <rdf:Property rdf:about="http://purl.org/dc/elements/1.1/creator">
>     <rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
>   </rdf:Property>
>
> and that: [3]
>
>   <rdf:Property rdf:about="http://xmlns.com/foaf/0.1/maker">
>     <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
>     <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
>     <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
>   </rdf:Property>
>
> this entails that anything can have a wdr:issuedby relation to any
> dcterms:Agent and that any owl:Thing can have a wdr:issuedby relation to
> any foaf:Agent. This looks very promising, and also avoids using OWL
> vocabulary in the schema like A1 does [4], as it also clearly states
> that issuedby has the semantics of foaf:maker or dcterms:creator, and it
> is not just some new property that (possibly coincidentally) happens to
> have the same range.
>
> On the other hand, A1 is a tighter delination, as A2 does not forbid
> other resources to be admissible in the range of issuedby, it only
> states that these definitely are. This, however, might be actually be a
> good thing.
>
> (A1a) If permitting future extension of attribution elements is a good
> thing, it is also perfectly implementable as a variation of (A1):
>
>   <rdf:Property rdf:about="#issuedby">
>     <rdfs:range>
>       <owl:Class rdf:about"#Agent"/>
>     </rdfs:range>
>   </rdf:Property>
>
>   <owl:Class>
>     <owl:equivalentClass>
>       <owl:unionOf rdf:parseType="Collection">
>         <owl:Class rdf:about="&dcterms;creator"/>
>         <owl:Class rdf:about="&foaf;maker"/>
>       </owl:unionOf>
>     <owl:equivalentClass>
>     <rdfs:subClassOf rdf:resource="#Agent"/>
>   </owl:Class>
>
>
>
> (B) Now the second issue is that of what is a POWDER document. The
> schema states that:
>
>   <rdfs:Class rdf:about="#Document">
>     <rdfs:subClassOf rdf:resource="&foaf;Document" />
>   </rdfs:Class>
>
> Now, OWL stipulates that ontology headers (which is what POWDER
> attribution elements become) are owl:AnnotationProperty properties of an
> owl:Ontology instance. This is no problem for dcterms:creator, as its
> domain is rdf:resource. Asserting:
>
>   <owl:AnnotationProperty rdf:resource="&dcterms;creator"/>
>   <owl:Ontology about="">
>     <wdr:issuedby rdf:resource="&ex;annotator"/>
>   </owl:Ontology>
>   <dcterms:Agent rdf:about="&ex;annotator"/>
>
> makes everybody happy: dcterms:creator can link an owl:Ontology
> with a dcterms:Agent, and since wdr:issuedby is its superset it can also
> link the "" ontology with ex:annotator.
>
> Making dcterms:creator a member of owl:AnnotationProperty is harmless
> for dcterms:creator, as the only restriction is that it is subsumed
> under rdf:Property, which dcterms:creator is already. However, OWL-DL
> semantics state that owl:AnnotationProperty instances cannot be involved
> in property-subsumption axioms [6,7], thus rendering (A2) an
> OWL Full-only solution.
>
> All that is missing is changing POWDER documents into being subsumed
> under owl:Ontology instead of foaf:Document:
>
>   <rdfs:Class rdf:about="#Document">
>     <rdfs:subClassOf rdf:resource="&owl;Ontology" />
>   </rdfs:Class>
>
> The same analysis applies to foaf:maker, except for the fact that its
> domain is restricted to owl:Thing instances. Again, asserting
>
>   <owl:AnnotationProperty rdf:resource="&foaf;maker"/>
>
> would be harmless but forcing (A1), but asserting:
>
>   <owl:Ontology about="">
>     <wdr:issuedby rdf:resource="&ex;annotator"/>
>   </owl:Ontology>
>   <foaf:Agent rdf:about="&ex;annotator"/>
>
> can never be satisfied, as under OWL-DL semantics there can be no
> resource that is owl:Ontology and owl:Thing [7].
>
>
> (B1) One solution is to roll back the
>
>   <owl:Ontology about=""/>
>
> annotations approach which was introduced as a response to one of Ivan's
> comments [8]. In the <rdf:Description about=""> situation, the "" is an
> RDF resource and not specifically an owl:Ontology. But, although
> syntactically valid, this might be semantically empty, as we know that
> the "" RDF graph instance is never going to happen to also be an
> owl:Thing, in order to admit foaf:maker; we will just be syntactically
> pretending that foaf:maker is admissible. (B1) does not sound like a
> safe way forward.
>
> (B2) A variation is to apply the attribution to a <wdr:Document>
> instance instead, and define wdr:Document to be a foaf:Document or an
> owl:Thing, so that it receive both DC and FOAF attributions. Should be
> compatible with (A2), as wdr:Document instances can receive
> owl:ObjectProperty and owl:DatatypeProperty properties and not necessary
> owl:AnnotationProperty properties. The catch is figuring out how to link
> the wdr:Document instance with the current graph or ontology, which
> might require some more RDF-semantics hacking. This will definitely
> require another LC, and we will have to explain why we are hacking with
> RDF semantics for such a minor glitch.
>
>
> (B3-A2) Define wdr:maker, the super-property of foaf:maker that is
> applicable to any RDF resource and not just owl:Thing instances:
>
> <rdf:Description rdf:about="http://purl.org/dc/terms/creator">
>   <rdfs:subPropertyOf>
>     <rdf:Property about="#issuedby"/>
>   </rdfs:subPropertyOf>
> </rdf:Description>
>
> <rdf:Description rdf:about="&foaf;maker">
>   <rdfs:subPropertyOf>
>     <rdf:Property about="#maker">
>       <rdf:range rdf:resource="&foaf;Agent">
>       <rdfs:subPropertyOf rdf:resource="#issuedby"/>
>     </rdf:Property>
>   </rdfs:subPropertyOf>
> </rdf:Description>
>
> Note however that (B2-A2) is OWL Full.
>
>
> (B3-A1) Define a new property that inherits no semantics from either
> dcterms:creator or foaf:maker; the new property is an instance of
> owl:AnnotationProperty that relates owl:Ontology instances with
> wdr:Agent instances. wdr:Agent is either tight union of superset of the
> union of dcterms:Agent and foaf:Agent.
>
>
> (B4) Dropping FOAF, which sounds like an excellent way to have lots of
> people happily ignore the specs and put in FOAF attributions anyway.
>
>
> About abandoning OWL-DL for OWL Full semantics: this is a very big can
> filled to the brim with hyper-active worms, if you see what I mean.
> Decidability issues aside, we have taken numerous decisions on the basis
> of avoiding OWL Full, meaning that there will be a number of points that
> will have to be re-visited and re-formulated in OWL Full terms.
>
>
> (B3-A1) or (B3-A1a) seems to me to be the path of least resistance,
> although I have to admit that by failing to assert a relation to
> dcterms:creator or foaf:maker the semantics of wdr:issuedby is
> considerably weaker. Please comment.
>
>
> Best,
> Stasinos
>
>
> [1] http://dublincore.org/2008/01/14/dcterms.rdf
> [2] http://dublincore.org/2008/01/14/dcelements.rdf
> [3] http://xmlns.com/foaf/spec/index.rdf
> [4] http://www.lhup.edu/~dsimanek/ideal/OCCAM.gif
> [5] http://www.w3.org/TR/2004/REC-owl-guide-20040210/#OntologyHeaders
> [6] http://www.w3.org/TR/2004/REC-owl-ref-20040210/#AnnotationProperty-def
> [7] http://www.w3.org/TR/owl-semantics/rdfs.html#5.4
> [8] http://lists.w3.org/Archives/Public/public-powderwg/2008Jul/0053.html
>
>
>
> On Sat Sep 13 02:49:06 2008 Andrea Perego said:
>
>   
>> Dear all,
>>
>> I send attached the revised version of the POWDER-S schema, and  
>> corresponding namespace doc.
>>
>> Before posting them online, may I kindly ask you to check them?
>>
>> Wrt the previous version, the hasIRI property has been added and, for  
>> each RDF property, rdf:type statements has been added, stating whether  
>> it is an owl:DatatypeProperty or an owl:ObjectProperty.
>>
>> Stasinos, could you please check whether such definitions have to be  
>> corrected? Also, please check the description (rdfs:comment) of 
>> wdrs:hasIRI.
>>
>> As soon as I have your feedback and made the required revisions to the  
>> schema, I'll update the table in Appendix A.2 of the DR doc [1].
>>
>> Thanks!
>>
>> Andrea
>>
>> [1]http://www.w3.org/TR/2008/WD-powder-dr-20080815/#rdfProperties
>>     
>
>
>
>   


-- 
Phil Archer
Chief Technical Officer,
Family Online Safety Institute
w. http://www.fosi.org/people/philarcher/

Register now for the annual Family Online Safety Institute Conference and Exhibition, December 11th, 2008, Washington, DC.
See http://www.fosi.org/conference2008/

Received on Wednesday, 1 October 2008 11:53:02 UTC