RE: summary of some cwm/euler implementation experiencew.r.t.accessing RDF collections

Hi Dan,

> Is that really the way SKOS works? I thought skos:narrower
> related two concepts, not a concept to a list...
> 
> > CONSTRUCT
> > { ?x skos:narrower ?y }
> > 
> > WHERE
> > { 
> >   ?x skos:narrower ?c.
> >   ?c a skos:OrderedCollection.
> >   ?c skos:memberList ?l.
> >   ?y list:in ?l.
> > }
> 
> Ugh... that suggests narrower's range is a union of
> OrderedCollection and concept. 
> Experience with
> dc:creator's range being a union of literal and Agent
> seems like it suggests separate properties for
>   concept narrower concept
> and
>   concept narrowerList conceptList
> 
> Indeed, we have
> 
>     skos:narrower     a rdf:Property,
>          :subPropertyOf skos:semanticRelation.
> 
> and
> 
>     skos:semanticRelation     a rdf:Property;
>          :domain skos:Concept;
>          :range skos:Concept.
> 
> so every objects of skow:narrower is a skos:Concept, including
> the collection of eg:infants eg:children eg:adults above. Is
> that on purpose?

No, you've noticed the bug in SKOS Core.  

The skos:Concept and skos:Collection (super-class of skos:OrderedCollection) are supposed to be disjoint, but the above allowed practice leads to the opposite inference.  

We plan to fix this at the next review, possibly by modifying the range of skos:semanticRelation to unionOf(skos:Concept, skos:Collection), possibly by doing something like what you suggest, and definitely stating explicitly disjoint(skos:Concept, skos:Collection).

I understand the concerns over a complex range like this, and appreciate very well the problems that exist for DC elements.  That's why the SKOS collection stuff is still rated 'unstable'.

Cheers for now,

Al.





> 
> 
> > I'm sure simpler examples can be found, but this is the one 
> I have from SKOS.
> 
> It seems to raise odd issues, to me.
> 
> 
> >  (This query illustrates how more complex thesauri such as 
> the Art & Architecture Thesaurus that have things called 
> 'node labels' can be made to interoperate with less complex 
> thesauri that don't.)
> > 
> > Another example could be something about accessing parts of 
> an ontology where the OWL constructs use lists, 
> owl:intersectionOf, owl:unionOf, owl:oneOf.  I don't have 
> specific use case for that tho.
> > 
> > Cheers,
> > 
> > Al.
> 
> -- 
> Dan Connolly, W3C http://www.w3.org/People/Connolly/
> D3C2 887B 0F92 6005 C541  0875 0F91 96DE 6E52 C29E
> 
> 

Received on Monday, 10 October 2005 14:04:30 UTC