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

On Mon, 2005-10-10 at 13:50 +0100, Miles, AJ (Alistair) wrote:
> Hi Dan, all,
> 
> Yep that looks like a good start, I think the purpose is just to make people aware of this solution.  Maybe write the list rules directly in the document, rather than buried in a longer rules file, so readers can quickly see how it works and figure out how to adapt to e.g. a Jena or Sesame implementation?
> 
> An example from SKOS Core Guide:
> 
> @prefix skos: <http://www.w3.org/2004/02/skos/core#> .
> @prefix eg: <http://www.example.com/concepts#> .
> 
> eg:people a skos:Concept;
>   skos:prefLabel 'people';
>   skos:narrower [
>     a skos:OrderedCollection;
>     rdfs:label 'people by age';
>     skos:memberList ( eg:infants eg:children eg:adults );
>   ];
> .

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?


> 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 13:50:38 UTC