- From: Rory Galvin <galvinr@tcd.ie>
- Date: Tue, 24 Feb 2004 15:28:54 -0000
- To: "Benjamin Nowack" <bnowack@appmosphere.com>
- Cc: <www-rdf-logic@w3.org>
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