问题
I built an ontology in Protégé 4 to describe archaeological finds and I'd like to use Geonames individuals as places of discovery. How can I add external individuals in Protégé? Do I need to import the Geonames ontology in mine? I tried to:
- import geonames ontology
- add new individual with geonames full iri
- add property sameAs between my place and the new individual of the point 2
but importing the Geonames ontology makes the reasoner to die with this error message:
OWLReasonerRuntimeException: Non-simple object property 'http://www.geonames.org/ontology#featureClass' is used as a simple one
How can I resolve this?
回答1:
Using individuals from other ontologies without importing them
In general, it's probably a good idea to import the ontologies that declare the individuals that you're interested in using. However,in some cases, this might not be the best option. As described in the following sections, the Geonames ontology is not actually a legal OWL 2 DL ontology, so if you try to import it into your ontology, you'll run into issues when you try to do any reasoning. As such, you should not import the Geonames ontology into yours, and you should redeclare the individuals that you want in your own ontology. This is easy in Protégé. According to the GeoNames ontology page, the IRI http://sws.geonames.org/3020251/
refers to town called Embrun in France. You simply create an individual in the usual way that you would with Protégé, but check the "ignore entity creation preferences" button so that you can enter a full IRI for the individual:
Concerning Simple Properties
There are restrictions on how certain OWL properties can be used. If you're getting an error about
OWLReasonerRuntimeException: Non-simple object property 'http://www.geonames.org/ontology#featureClass' is used as a simple one
then you're referencing the property correctly. In the OWL 2 Web Ontology Language Structural Specification and Functional-Style Syntax (Second Edition) there's a description of simple properties (but I'm only including an excerpt here):
11.1 Property Hierarchy and Simple Object Property Expressions
Roughly speaking, a simple object property expression has no direct or indirect subproperties that are either transitive or are defined by means of property chains, where the notion of indirect subproperties is captured by the property hierarchy.
There are restictions on how simple and non-simple properties can be used:
11.2 The Restrictions on the Axiom Closure
Restriction on Simple Roles. Each class expression and each axiom in Ax of type from the following two lists contains only simple object properties.
- ObjectMinCardinality, ObjectMaxCardinality, ObjectExactCardinality, and ObjectHasSelf .
- FunctionalObjectProperty, InverseFunctionalObjectProperty, IrreflexiveObjectProperty, AsymmetricObjectProperty, and DisjointObjectProperties.
This restriction is necessary in order to guarantee decidability of the basic reasoning problems for OWL 2 DL.
Geonames is not an OWL 2 DL ontology
Now, it could be that your ontology has some problematic axioms, but it looks like there are some in the GeoNames ontology itself. I downloaded version 3.1 and opened it up in Protégé. There aren't all that many object properties, but there's one, feature class, that has a subproperty chain axiom, and it's used in a class expression.
So, feature class is a non-simple property because it has a property chain as a subproperty, and feature class is used in an ObjectExactCardinality class expression, namely,
feature class exactly 1 Thing
This means that the GeoNames ontology is not a legal OWL 2 DL ontology.
来源:https://stackoverflow.com/questions/21135179/owlreasonerruntimeexception-in-prot%c3%a9g%c3%a9-using-geonames-ontology