- From: David Menendez <zednenem@psualum.com>
- Date: Thu, 06 May 2004 17:28:34 -0400
- To: "Miles, AJ (Alistair) " <A.J.Miles@rl.ac.uk>
- Cc: "'public-esw-thes@w3.org'" <public-esw-thes@w3.org>
Miles, AJ (Alistair) writes:
>
> This is a strawman proposal for addition to the SKOS-Core schema:
[...]
> Comments on any aspect of this suggestion?
Looks good to me.
Rather than use skos:arrayParent, I might have used a relation in the
opposite direction:
c:D a skos:Concept
; skos:prefLabel "People"
; skos:subArray [
a skos:Array
; rdfs:label "People by age"
; skos:arrayListMembers ( c:A c:B c:C )
]
; skos:narrower c:A, c:B, c:C
.
That's purely a matter of taste, though. I like it because all the
arrows go the same way in the diagram:
c:D -skos:subArray-> [] -skos:arrayListMembers-> [] -rdf:first-> c:A
(Less importantly, "narrowerArray" or just "array" might be better than
"subArray", and "members" might suffice for "arrayListMembers")
As far as semantics go, we can just declare that skos:subArray implies
the appropriate skos:narrower/skos:broader relations. There's no
widely-practiced machine-readable way to declare this in the schema, but
it's easy enough to put something like this in the specification:
forall C1, C2.
(exists A, L. skos:subArray(C,A) and
skos:arrayListMembers(A,L) and
member(L,C2))
=> skos:narrower(C1,C2)
forall L, I. rdf:first(L,I) => member(L,I)
forall L, L2, I. (rdf:rest(L,L2) and member(L2,I)) => member(L,I)
--
David Menendez <zednenem@psualum.com> <http://www.eyrie.org/~zednenem/>
Received on Thursday, 6 May 2004 17:28:47 UTC