- From: Bernard Vatant <bernard.vatant@mondeca.com>
- Date: Mon, 29 May 2006 15:54:50 +0200
- To: Mark van Assem <mark@few.vu.nl>
- CC: Paul Hermans <paul.hermans@amplexor.com>, public-esw-thes@w3.org
Mark This exchange drives me a little confused about the status of skos:Collection vs skos:Concept What you write, and with which I basically tend to agree, seems to assume that a skos:Collection is not a skos:Concept. Although this is nowhere written explicitly in SKOS specification (correct me if I am wrong), it seems indeed correct to assume that those two classes should be in practice disjoint. But if you allow, like in the example quoted by Paul, a collection, even as a blank node, to be the value of a narrower property, like in example quoted by Paul (1) ex:milk skos:narrower _:b0 (2) _:b0 rdf:type skos:Collection ... put that along with the declaration of skos:narrower range in the specification (3) skos:narrower rdfs:subPropertyOf skos:semanticRelation (4) skos:semanticRelation rdfs:range skos:Concept It's quite easy to entail (5) _:b0 rdf:type skos:Concept And this is independent of the fact that the collection has a URI or not. Replacing _:b0 above by ex:milkbyanimal does not change anything to this entailment. A side effect in that case is that if the distinction between skos:Collection and skos:Concept is blurred, so is the distinction between skos:member and skos:narrower. My hunch is that there is something wrong with the above reasoning, since I'm not happy with the conclusion. Thoughts? Bottom line : maybecurrent specification is a bit unclear about collections, the core issue being not to know if they should be blank nodes or not, but to make clear if and why skos:Collection and skos:Concept are disjoint classes, if they indeed should be (of which I remain to be fully convinced), and what the notion of "collectable property" actually means. Bernard *Bernard Vatant* Knowledge Engineering *Mondeca ** *3, cité Nollez 75018 Paris France Tel. +33 (0) 871 488 459 Mail: bernard.vatant@mondeca.com <mailto:bernard.vatant@mondeca.com> Web: www.mondeca.com <http://www.mondeca.com> Blog : universimmedia.blogspot.com <http://universimmedia.blogspot.com> Mark van Assem wrote > > Hi Paul, > > The SKOS Core Guide [1] says: > > "Note that in the example above the collection was defined as a blank > node, i.e. no URI was allocated. URIs may be allocated to collections, > but usually this is not necessary." > > So the first answer to your question is 'yes, it is possible and it is > allowed'. > > However, I think the wording above should be stronger, stating that it > is recommended NOT to give a URI for a collection. Collections are > used to represent node labels, and node labels should not be used for > indexing. Therefore annotators should not be tempted to use them > anyway, simply because a URI is available for them. > > Again quoting [1]: > > 'There is consensus that a 'node label' does not represent a label for > a concept in its own right, and therefore correctly modelling this > kind of structure in RDF requires careful consideration.' > > Cheers, > Mark. > > [1]http://www.w3.org/TR/swbp-skos-core-guide/#seccollections > > <http://universimmedia.blogspot.com> > Paul Hermans wrote: >> In the SKOS core guide I do find following example : >> >> <rdf:RDF >> xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >> xmlns:skos="http://www.w3.org/2004/02/skos/core#" >> xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"> >> <skos:Concept rdf:about="http://www.example.com/concepts#milk"> >> <skos:prefLabel>milk</skos:prefLabel> >> <skos:narrower> >> <skos:Collection> >> <rdfs:label>milk by source animal</rdfs:label> >> <skos:member >> rdf:resource="http://www.example.com/concepts#buffalomilk"/> >> <skos:member >> rdf:resource="http://www.example.com/concepts#cowmilk"/> >> <skos:member >> rdf:resource="http://www.example.com/concepts#goatmilk"/> >> <skos:member >> rdf:resource="http://www.example.com/concepts#sheepmilk"/> >> </skos:Collection> >> </skos:narrower> >> </skos:Concept> >> </rdf:RDF> >> >> Where in this case Collection is within the narrower element as a >> blank node. >> >> I suppose I can do the same using a node with a URI as follows. >> >> <rdf:RDF >> xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >> xmlns:skos="http://www.w3.org/2004/02/skos/core#" >> xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"> >> <skos:Concept rdf:about="http://www.example.com/concepts#milk"> >> <skos:prefLabel>milk</skos:prefLabel> >> <skos:narrower >> rdf:resource="http://www.example.com/collections#milkbyanimal"/> >> </skos:Concept> >> <skos:Collection >> rdf:about="http://www.example.com/collections#milkbyanimal"> >> <rdfs:label>milk by source animal</rdfs:label> >> <skos:member >> rdf:resource="http://www.example.com/concepts#buffalomilk"/> >> <skos:member >> rdf:resource="http://www.example.com/concepts#cowmilk"/> >> <skos:member >> rdf:resource="http://www.example.com/concepts#goatmilk"/> >> <skos:member >> rdf:resource="http://www.example.com/concepts#sheepmilk"/> >> </skos:Collection> >> >> </rdf:RDF> >> >> >> I just want to check since someone told me this can and may not be >> done according to the SKOS spec. >> >> Regards, >> >> >> Paul >> >
Received on Monday, 29 May 2006 13:55:19 UTC