views:

27

answers:

1

Hi, I am very new to working with semantic data and have a quick question that i cant find an answer to.

When creating an rdf schema are you essentially creating a class as per OOP i.e. declaring all properties etc that are valid. If this is the case then say I want a property called 'title' which I actually intend on using dcterms:title do I have to specifically declare this to be a member of my rdf class in the schema and declare it as a sub property of dcterms:title. Or, do I omit this from the schema and simply use it when creating the rdf instance?

I hope this makes sense and thank anyne in advance for any advice they can offer on this.

+1  A: 

When creating an rdf schema are you essentially creating a class as per OOP i.e. declaring all properties etc that are valid.

This is a common misconception, and wrong. It's perfectly understandable, however, and invited by the use of the term 'schema' which in XML and relational databases can suggest a definition or constraint on the data.

The W3C recommendation is called 'RDF Vocabulary Description Language 1.0: RDF Schema', which is an attempt to get away from the 'schema' word, and suggest what rdfs does: describe vocabularies. RDF 'schemas' are just collections of descriptions of classes and properties.

So the short answers are: 'do I have to specifically declare this to be a member of my class' no. 'do I omit this from the schema and simply use it when creating the rdf instance' yes, that's fine.

Great thanks for the reply. Comming from an oop background this jars with me a little. I feel the need to specify exactly what my class should do and what properties it should have. Although I completely understand what you are saying. Thanks again
David