Re: Restricting property instances in OWL

Hi Jevon,

I guess that you want to say this *in general* for "P-edges", where P  
is a property? E.g., you might want to say that "nobody is their own  
child" by saying that the property "hasChild" doesn't have any loops?  
Then you can add an axiom saying

SubClassOf(Thing ObjectComplementOf( ObjectHasSelf(HasChild))

or (in Manchester Syntax)

Class Thing
     SubClassOf Not hasChild self

If, on the other hand, you really only have 2 nodes, x and y, related  
by a property edge, you can simply say

DifferentIndividual(x y)

Cheers, Uli

On 30 Jul 2009, at 03:35, Jevon Wright wrote:

> Hi,
>
> I am trying to define an OWL ontology that lets me do the following.  
> Consider that I have an Edge which connects two Nodes. However, I  
> wish to say that the Edge source is not the same as the Edge target,  
> i.e. the Edge does not connect the same Node to itself.
>
> Is this possible to do in OWL, i.e. define that "source != target"?  
> It seems that the restrictions apply only to classes and data types,  
> not to instances.
>
> I have also thought of having
> Node <- EdgeSource
> Node <- EdgeTarget (these two classifications are disjoint)
> Edge has property "source : EdgeSource" and "target : EdgeTarget".
>
> This would make sure that the same node cannot be connected, but  
> also in this case the same node could not simultaneously be the  
> source and the target of two distinct Edges.
>
> Any assistance or ideas would be appreciated. I am also look at  
> rules through OWL+SWRL.
>
> Thanks
> Jevon

Received on Thursday, 30 July 2009 08:21:48 UTC