Re: [call for comments] voiD 1.0

Keith Alexander wrote:
> Can you explain why you prefer sioc:has_container to dcterms:isPartOf ?

Let's call it consistent use of a vocabulary. Since I'm using SIOC for lots of things in the platform anyway (like, most resources in my dataset are sioc:Items) it makes sense to use SIOC the way it is expected to be used. Then again I also want to use voiD the way it is expected to be used, so I'm in a dilemma. :-)

This is always a problem with unaligned vocabularies. For example when describing the user accounts on my platform, do I type them as foaf:OnlineAccounts or do I use its (confusingly named) sub-class sioc:User? Why is there a sub-class at all? Do I use dcterms:identifier for the user IDs or the unrelated sioc:id? foaf:name for the user names or the also unrelated sioc:name (which basically means the same, just is scoped to SIOC objects)? Or rdfs:label?
Similarily people often copy properties of the dcterms vocabulary without relating them to it. Or they create sub-classes of things which are scoped to their vocabulary instead of using the original classes directly (which would reduce the need for inferencing). I think it would make more sense to just tell people what external classes and properties can be used together with your vocabulary (just like voiD does!).

So yeah, you always have to expect people mixing vocabularies in a flexible way, even when they are not aligned. Of course I could provide my own alignments of vocabularies I use but how do I point people to those alignments? Normally when you explore linked data you dereference the vocabulary items directly to get authorative definitions. What I could do is feed my RDF store with my alignments and use inferencing so that people can find the triples they expect as well when querying it. Or I could use other means of conversion (SPARQL CONSTRUCT) to export my data with other vocabularies.

Regards,
  Simon

Received on Friday, 30 January 2009 12:27:10 UTC