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] re asener that support constraints

Martin O'Connor martin.oconnor at stanford.edu
Tue May 13 11:50:19 PDT 2008


It is actually more complex than I indicated in an earlier response. 
Using a standard first order interpretation, a SWRL rule with an empty 
head is basically stating that its antecedent is false - in your example 
that would imply that ?z and?a cannot be the same. However, using a 
DL-safe interpretation [1] the rule will be interpreted differently - 
because DL-safe rules only bind to known individuals the rule will only 
fire if it finds a ?z and ?a that are the same (assuming all other atoms 
in the rule are true also). So it acts like a constraint in the latter 
case. All SWRL reasoners that I am aware of use the DL-safe interpretation.

Martin

[1] http://protege.cim3.net/cgi-bin/wiki.pl?SWRLLanguageFAQ#nid9VC

bassiee wrote:

>Are you sure?
>Martin told me that if a construction is build with an empty head, then it
>can't occur.
>So 'Woman(Paul)-> ' Means that Paul can't be a woman.
>So: 2 Classes: Class1 and Class2
>2 properties: hasClass2a and hasClass2b both have domain Class1 and range
>Class2
>'individual1' of Class1 has a property 'hasClass2a' to 'individual2' of
>Class2
>'individual1' of Class1 has a property 'hasClass2b' to 'individual3' of
>Class2
>and individual2 and individual2 have to be different.
>
>So it looks to me a SWRL constraint with an empty head:
>Class1(?x) and Class1(?y) and sameAs(?x,?y) and hasClass2a(?x,?z) and
>hasClass2b(?y,?a)and sameAs(?z,?a) -->
>
>So this means that (?z,?a)  can't be the same, so have to be different...
>Could somebody confirm that please?
>Thanks seba
>
>
>
>Samson Tu wrote:
>  
>
>>I think you want to have
>>
>>Class1(?x) and Class1(?y) and sameAs(?x,?y) and hasClass2a(?x,?z) and
>>hasClass2b(?y,?a) and differentFrom(?z,?a) -->
>>
>>not sameAs(?z, ?a).
>>
>>
>>Samson
>>
>>
>>bassiee wrote:
>>
>>    
>>
>>>>bassiee wrote:
>>>>        
>>>>
>>>>>hey martin,
>>>>>if you say that the jess back end in the swrltab supports a constraint
>>>>>with
>>>>>an empty head
>>>>>then I probably don't understand how constraints have to be
>>>>>interpreted.
>>>>>So I give an example and if you could say it is correct or not (and
>>>>>what
>>>>>I
>>>>>should be) that would be great.
>>>>>
>>>>>The example is very similar to what I want:
>>>>>2 Classes: Class1 and Class2
>>>>>2 properties: hasClass2a and hasClass2b both have domain Class1 and
>>>>>range
>>>>>Class2
>>>>>I want to say in the constraint: an individual of Class1 can have a
>>>>>connection to Class2 via 'hasClass2a' and 'hasClass2b', but the
>>>>>individuals
>>>>>it connects to have to be different.
>>>>>
>>>>>So it looks to me a SWRL constraint with an empty head:
>>>>>Class1(?x) and Class1(?y) and sameAs(?x,?y) and hasClass2a(?x,?z) and
>>>>>hasClass2b(?y,?a)
>>>>>and sameAs(?z,?a) -->
>>>>>
>>>>>Is this correct?
>>>>>          
>>>>>
>
>  
>




More information about the protege-owl mailing list