- 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