Re: Supporting arrays of concepts

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