Search Mailing List Archives


Limit search to: Subject & Body Subject Author
Sort by: Reverse Sort
Limit to: All This Week Last Week This Month Last Month
Select Date Range     through    

[protege-owl] Inference of individuals over transitive properties.

Aaron Mitchell am283298 at ohio.edu
Tue Sep 19 13:19:32 PDT 2006


I am trying to design an set of OWL lists that can classify individual lists
based upon their contents.  The list ontology is defined similarly to Pattern 2
of the W3C Working Group Note on N-ary Relations
(http://www.w3.org/TR/swbp-n-aryRelations/).  I have attached the list ontology
for reference as well.

If I define a class, Digit, to be an enumeration (using the Enumeration Pattern
Wizard in Protege}, I want to be able to define a concrete list, as an
individual of the class List, where all items in the list contain only
individuals of the class Digit, and let the reasoner infer it to also be of
subtype NumberList.  

Given that each item in the list is related to every other item int he list via
a transitive, isFollowedBy, property, I attempted to model a NumberList as follows:

List and
isFollowedBy all ( List and hasContents all Digit)

.....or in OWL...

<owl:Class rdf:ID="NumberList">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="&p1;isFollowedBy"/>
                        <owl:allValuesFrom>
                            <owl:Class>
                                <owl:intersectionOf rdf:parseType="Collection">
                                    <owl:Restriction>
                                        <owl:onProperty
rdf:resource="&p1;hasContents"/>
                                        <owl:allValuesFrom rdf:resource="#Digit"/>
                                    </owl:Restriction>
                                    <owl:Class rdf:about="&p1;List"/>
                                </owl:intersectionOf>
                            </owl:Class>
                        </owl:allValuesFrom>
                    </owl:Restriction>
                    <owl:Class rdf:about="&p1;List"/>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>

.....but Protege/Racer will not classify any individuals under NumberList (even
a list consisting of a single digit).  

Note: List Items are actually chained together via the non-transitive
sub-property hasNext.

Is this a limitation of Protege/Racer integration or an error in design?

--
Aaron Mitchell <amitchel at cs.ohiou.edu>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: list.owl
Type: application/octet-stream
Size: 3892 bytes
Desc: not available
URL: <http://mailman.stanford.edu/pipermail/protege-owl/attachments/20060919/10450b14/attachment.owl>


More information about the protege-owl mailing list