On Tue, Apr 22, 2014 at 9:25 AM, Lebling, David (US SSA)
<[email protected]> wrote:
> Do these Individuals have to explicitly import the referenced ontologies? The 
> Models they live in all have attached document managers that know about the 
> ontologies. When you talk about "inventing a URI for the ontology" it makes 
> me think the Individuals, which are effectively business objects, have to 
> have, in the Model they live in, an Ontology object. Is this the case?
>
> I've been putting in explicit import triples, and the ontology triple we've 
> been discussing. (When writing to a text file I also but in a Base URI.) I 
> find that if I don't put in explicit imports, things seem to work fine, but 
> any files I create by writing out the Individuals, get dire warnings when 
> opened by TopBraid Composer ("offering" to fix the file by adding explicit 
> imports). TopBraid also seems to insist that there be a Base URI.  (I realize 
> this isn't a TopBraid list, but I naively assume TopBraid is written by 
> people who know more about OWL than I do, so it makes me nervous when this 
> happens.) Should I just not be nervous?

There's a bit of difference between what you have to or don't have to
do with Jena models, and what's required in OWL ontologies.  Though
there's an OntModel layer to make some of the ontology abstractions
nicer, and Jena's submodel concepts helps in working with ontology
imports, Jena models are really RDF-based.  That means that if you've
got an OntModel with just the triple:

:JohnDoe :hasName "John Doe" .

it's OK.  In OWL ontologies, however, it's actually required that all
the properties, etc., have declarations.  So if you want a legal OWL
ontology, you actually need something more along the lines of (and I
may be missing some of the details here, but this is the general
idea):

:JohnDoe a owl:NamedIndividual .
:hasName a owl:DatatypeProperty .
:JohnDoe :hasName "John Doe" .

If you don't have those declarations in ontology, then you'll need to
import some ontology that does.  E.g.,

_:ont a owl:Ontology .
_:ont owl:imports <http://example.org/namingOntology> .
:JohnDoe a owl:NamedIndividual . # if namingOntology declares
:JohnDoe, you won't need this triple here
:JohnDoe :hasName "John Doe" .

So yes, in general, if you've got an ontology O that declares some
vocabulary, then a dataset that's based on that vocabulary should
import O.

//JT
-- 
Joshua Taylor, http://www.cs.rpi.edu/~tayloj/

Reply via email to