- From: Uli Sattler <sattler@cs.man.ac.uk>
- Date: Thu, 30 Jul 2009 09:21:11 +0100
- To: Jevon Wright <jevon@jevon.org>
- Cc: public-owl-dev@w3.org
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