[Pellet-users] Inferred Subsumption
Evren Sirin
evren at clarkparsia.com
Thu Mar 6 20:12:42 UTC 2008
[Note: please send Pellet questions to the mailing list not privately]
On 3/5/08 2:26 PM, JPQ wrote:
> As a follow-up to my last post, a recent discussion elsewhere suggested that
> Pellet does not return inferences on blank nodes. This would explain why
> Pellet infers a subsumption and not an equivalency. More specifically, here
> is what Pellet returns in Topbraid Composer.
>
> Another_Ontology:Lat rdfs:subClassOf LatLon
> Another_Ontology:Lon rdfs:subClassOf LatLon
>
> I accepted to see the following inference, also.
>
> LatLon rdfs:subClassOf
> [Another_Ontology:Lat or Another_Ontology:Lon]
>
> These inferences collectively describe the equivalency between "LatLon" and
> "[Another_Ontology:Lat or Another_Ontology:Lon]".
>
In you snippet there is no blank node that describes the union class. If
your definition was written as follows (using an anonymous class for the
union description):
<owl:Class rdf:ID="LatLon">
<owl:equivalentClass>
<owl:Class>
<owl:unionOf rdf:parseType="Collection">
<rdf:Description rdf:about="Another_Ontology.owl#Lat"/>
<rdf:Description rdf:about="Another_Ontology.owl#Lon"/>
</owl:unionOf>
</owl:Class>
</owl:equivalentClass>
</owl:Class>
then you would get a bnode in the inferences (but Jena will not pretty
print the bnode in the Manchester syntax you have above). Also note that
Pellet will only return asserted relations regarding bnodes. See this
FAQ entry for more information [1].
If you are interested in seeing why the subclass relation holds then you
can take a look at the explanation feature Pellet provide. Pellet will
give you the set of asserted axioms for a given inference. See the
explanation example program from Pellet distribution.
Cheers,
Evren
[1] http://pellet.owldl.com/faq/different-results/
> On 3/4/08, JPQ <jpq.semantics at gmail.com> wrote:
>
>> Thanks for your reply.
>>
>> Let me phrase it a bit differently.
>>
>> First, we have the following OWL class, which is contained within an
>> OWL-DL ontology. In fact this ontology only contains this one class and no
>> properties. Additionally, it imports a second ontology, which I have called
>> "Another_Ontology".
>>
>> <owl:Class rdf:ID="LatLon">
>> <owl:unionOf rdf:parseType="Collection">
>> <rdf:Description rdf:about="Another_Ontology.owl#Lat"/>
>> <rdf:Description rdf:about="Another_Ontology.owl#Lon"/>
>> </owl:unionOf>
>> </owl:Class>
>> The named OWL class, "LatLon", is equivalent to the nested anonymous class
>> that is formed by the "unionOf" set operator. For example, suppose the class
>> extension of "Lat" is represent by the set {1, 2, 3}, and the class
>> extension of "Lon" is represented by the set {4, 5, 6}. Then the class
>> extension of "LatLon" is exactly the same as the union of those two sets -
>> namely, {1,, 2, 3, 4, 5, 6}.
>>
>> Yet, when run through Pellet, it is inferred that
>> "Another_Ontology.owl#Lat" & "Another_Ontology.owl#Lon" are subclasses of
>> "LatLon".
>>
>> My question is what is the basis of these inferences?
>>
>> Thanks.
>>
>> On 3/4/08, Evren Sirin <evren at clarkparsia.com> wrote:
>>
>>> On 3/4/08 11:51 AM, JPQ wrote:
>>>
>>>> I'm running the Pellet inferencing engine in TopBraid Composer on a
>>>>
>>> valid
>>>
>>>> OWL-DL document. Here are the details.
>>>>
>>>> An OWL-DL ontology contains the following class.
>>>> <owl:Class rdf:ID="LatLon">
>>>> <owl:unionOf rdf:parseType="Collection">
>>>> <rdf:Description rdf:about="Another_Ontology.owl#Lat"/>
>>>> <rdf:Description rdf:about="Another_Ontology.owl#Lon"/>
>>>> </owl:unionOf>
>>>> </owl:Class>
>>>>
>>>> The anonymous class formed by the "unionOf" set operation is
>>>>
>>> equivalent to
>>>
>>>> the named class, "LatLon".
>>>>
>>>> This ontology imports a second ontology.
>>>>
>>>> The second OWL-DL ontology ("Another_Ontology") has the following
>>>>
>>> features:
>>>
>>>> 1. The "Lat" & "Lon" classes are Type-1 OWL classes (ie, they are
>>>>
>>> simply
>>>
>>>> identified as RDF nodes using the rdf:ID construct)
>>>> 2. There exist "lat" & "lon" datatype properties
>>>> a. The "lat" property domain is "Lat"; its range is "xsd:double".
>>>>
>>> The
>>>
>>>> same applies with "lon",
>>>> except its domain is "Lon".
>>>> (I've also tried an alternate version where the "lat" & "lon"
>>>> datatype properties only define
>>>> ranges and not domains.)
>>>>
>>>> b. Both the "lat" & "lon" datatype properties are also typed with
>>>> <owl:FunctionalProperty>
>>>>
>>>> Running the Pellet inference engine on the first ontology results in
>>>>
>>> the
>>>
>>>> following inferences.
>>>> Another_Ontology:Lat rdfs:subClassOf LatLon
>>>> Another_Ontology:Lon rdfs:subClassOf LatLon
>>>>
>>>> The "LatLon" class subsumes "Lat" & "Lon".
>>>>
>>>>
>>> Ok, everything sounds right until now.
>>>
>>>
>>>> Why does Pellet infer these subsumptions when the "LatLon" class
>>>>
>>> description
>>>
>>>> defines an equivalency?
>>>>
>>>>
>>> I don't understand the question or the problem. Are you saying that the
>>> subclass relations do not hold when you change the definition of LatLon?
>>> If so, what is the changed definition? Providing complete, minimal
>>> ontologies would help us understand what is wron.
>>>
>>> Cheers,
>>> Evren
>>>
>>>> Thanks for your help.
>>>>
>>>>
>>>>
>>>>
>>> ------------------------------------------------------------------------
>>>
>>>> _______________________________________________
>>>> Pellet-users mailing list
>>>> Pellet-users at lists.owldl.com
>>>> http://lists.owldl.com/mailman/listinfo/pellet-users
>>>> _______________________________________________
>>>>
>>>> Sponsored by Clark & Parsia, LLC http://clarkparsia.com/
>>>>
>>>
>
>
More information about the Pellet-users
mailing list