I am trying to convert a database in RDF format.

At the moment I am using some vocabularies from freebase.com and schema.org as well as the default ones (dc,foaf,etc). Now the problem is that for some properties I can't find the terms in the vocabullaries so the only way is to create my own schema as fas as I understand.

When I create the schema I want define some extra properties of a class (say class A).I am thinking of creating a subclass of class A and define there all the properties that I need.Is this the right way to do that? If one of my instances is for example an instance of class A is it allowed to define properties as foaf,or dc or do I have to define anything extra in my vocabulary. If I want to extend an existing vocabulary in my project are there any extra constraints?

asked 19 Feb '13, 08:40

nikosdi's gravatar image

accept rate: 0%

If you need additional properties or concepts that are not already contained in an ontology you use and don't own it's probably better to create them in your own new vocabulary.

The reason is that tools such as reasoners and crawlers may differentiate between authoritative and non-authoritative statements (see [1], page 6, Definition 2: Authoritative Source) to filter out statements that are "not reliable". Any statement you would make about your new property (e.g. foaf:myMother) would not be authoritative because the foaf namespace is not owned by you if I simplify just a little, see the definition in [1].

With respect to creating a subclass or not - I think you should feel free to do whatever suits your modelling needs provided that it is in line with the original ontology (e.g. it's probably not OK to state that a foaf property is functional if it is clearly not. On the other hand, such a statement would again not be authoritative which means that even honest mistakes shouldn't cause much trouble.)

[1] SAOR: Authoritative Reasoning for the Web, Aidan Hogan and Andreas Harth and Axel Polleres:

A graph s in KB speaks authoritatively about a concept c in C_KB u P_KB if c appears in a triple of s and one of the following holds true:

  1. c is not identified by a URI (i.e., identified by a blank node)
  2. s is retrievable from a URI which coincides with (or redirects to) the namespace of the URI identifying c.

where [slightly simplified, have a look at the paper] KB is a web knowledge base, C_KB is the set of classes of KB and P_KB is the set of properties of KB.

permanent link

answered 09 Sep '13, 10:00

jkbkot's gravatar image

accept rate: 27%

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:


question asked: 19 Feb '13, 08:40

question was seen: 1,041 times

last updated: 09 Sep '13, 10:00