Re: OWL and Vocabularies

Thanks Benjamin,


If I use OWL DL does that mean I cannot create instances of classes? Do I
have to refer to instances as subclasses?
If I decide to use dublin core and I describe all elements as Annotation
properties will I not be able to specify the range and domain of those
properties because they are annotation properties?



----- Original Message -----
From: "Benjamin Nowack" <bnowack@appmosphere.com>
To: "Rory Galvin" <galvinr@tcd.ie>
Cc: <www-rdf-logic@w3.org>
Sent: Tuesday, February 24, 2004 2:36 PM
Subject: Re: OWL and Vocabularies



Hi Rory,

the answers depend on your objectives concerning the data, e.g. if
your schema should be an OWL DL ontology, if you are using dc terms
for annotations only or if you want to reason about them, if you
want to publish your instance data and want other apps to work
with it etc.

On 24.02.2004 13:13:52, Rory Galvin wrote:
>I want to use the Dublin core vocabulary to describe classes
>within a schema. By importing the vocabulary into a schema am I
>saying that classes mentioned in the importing schema can be
>annotated using DC terms?

if you want to build an OWL DL ontology and would like to annotate
your classes/properties/.. with DC terms, you have to type them as
owl:AnnotationProperties. this can be done within your ont or in an
external ont that you import. you can't import the DC _rdfs_
vocabulary and stay in DL though. generally, it's difficult to use
DC terms in OWL DL, because they are loosely specified and
redescribing them in OWL could change their semantics and/or can
lead to inconsistent instance data. typing them as annotation
properties can help but doesn't allow you to define domain, range,
subprops etc, so reasoning is limited. some reasoners may even ignore
annotation properties.. (that's at least how I understand the OWL
reference doc)

If you plan to have your data used by various consuming apps, esp.
if you consider using other RDFS vocabularies, you are probably
better off with an OWL Full ontology. you can treat your classes
as individuals then and can use DC terms the way you need. there
also is no need to import a DC vocabulary.

>If importing is not the solution, do I need to declare each
>DC element within my ontology?
only for OWL DL ontologies or if you want to add contraints, e.g.
typing dc:title as an owl:DatatypeProperty. one problem may be that
you can't neccessarily tell a reasoner later which ontology to use
if it encounters instance data. there is only a link from a term
to its namespace. e.g. if you have something like

<foaf:Document>
   <dc:title>A sample document</dc:title>
<foaf:Document>

, an rdf consumer/reasoner does not know that/if you (re)defined
/extended/constrained dc:title at http://www.example.com/my_dc.owl

>Currently, my data files (a-boxes) contain individuals from a schema
>(t-box). Some of the individuals contain DC properties that are not
>mentioned or imported in the schema. Is this bad practice?
if you have the dc namespace defined, this should be no problem.
(if there is so little practice at all, how can there be "bad"
practice already ;-) I don't know if a DL-powered reasoner requires
that all instance data statements consist of defined terms, I guess
it could just warn or skip triples with unknown terms, but I'm not
sure on that.

hope that helps..

benjamin

--
Benjamin Nowack

Kruppstr. 82-100
45145 Essen, Germany

Received on Tuesday, 24 February 2004 10:27:52 UTC