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
Thu May 15 17:26:55 PDT 2008


SWRL DL-safeness relates to how a rule is interpreted, not on how it is 
written. I don't think you can get the effect you want to in SWRL with a 
DL-safe interpretation.

Martin

bassiee wrote:

>Hey,
>I think that I understand what you are trying to say...but still a few
>questions.
>Is there a way to write an DL-safe constraint for the example?
>Is the rule below SWRL correct but not DL-safe?:
>  
>
>>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) -->
>>    
>>
>Regards seba
>
>Martin O'Connor wrote:
>  
>
>>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?
>>>>>>>         
>>>>>>>
>>>>>>>              
>>>>>>>
>>> 
>>>
>>>      
>>>
>>_______________________________________________
>>protege-owl mailing list
>>protege-owl at lists.stanford.edu
>>https://mailman.stanford.edu/mailman/listinfo/protege-owl
>>
>>Instructions for unsubscribing:
>>http://protege.stanford.edu/doc/faq.html#01a.03 
>>
>>
>>    
>>
>
>  
>




More information about the protege-owl mailing list