- From: Pascal Hitzler <phitzler@googlemail.com>
- Date: Fri, 24 Apr 2020 09:01:11 -0500
- To: semantic-web@w3.org, mikael.pesonen@lingsoft.fi
You probably find more about these matter than you care about here: http://people.cs.ksu.edu/~hitzler/resources/publications/OWL-Rules-2011.pdf But let me break down your example. you want to say something like the following: A(x) AND p1(x,y) AND C(y) AND p2(y,z) AND B(z) AND p4(w,z) AND D(w) AND p3(x,w) --> E(x) And essentially you want to know whether there is anything in the class E. With the rolification technique in the above referenced paper, yo would come up with the following to express the axiom: A equiv exists R_A.Self B equiv exist R_B.Self C equiv exists R_C.Self D equiv exists R_D.Self R_A o p1 o R_C o p2 o R_B o p4- o R_D o p3- subPropertyOf R exists R.Self subClassOf E Now, these six axioms *syntactically* translated into first-order predicate logic do the trick. HOWEVER, you would use Self with a non-simple role, which is not allowed under OWL DL. So the short answer is: it doesn't look like it's possible. The above paper discusses a construct called nominal schemas, which is (very complex) syntactic sugar on top of OWL, an which allows you to express the rule above, provided that the variable x can bind only to individuals actually occurring in the knowledge base. Best Regards, Pascal. -- Pascal Hitzler Lloyd T. Smith Creativity in Engineering Chair Director, Center for AI and Data Science Kansas State University http://www.pascal-hitzler.de http://www.daselab.org http://www.semantic-web-journal.net On 4/24/2020 8:23 AM, Mikael Pesonen wrote: > > Hi, > > I would like to find out wheather data contains a cycle so that some > individuals of two different classes are connected together with 2 or > more property paths. > > So there are two paths in the data (--x--> denoting property): > > a:A --p1--> c:C --p2--> b:B > > a:A --p3--> d:D --p4--> b:B > > Is it possible to express in OWL that some individual of type A is > connected to some individual of type B through these two property paths > (p1 o p2) and (p3 o p4)? > > > Closest I've come up is this > > Class: CycleFromA > EquivalentTo: p1 o p2 SOME B AND p3 o p4 SOME :B > > but this doesn't force b to be same individual. And how this CycleFromA > could be used for reasoning and finding out if such double connection > exists? > > Thank you. >
Received on Friday, 24 April 2020 14:01:52 UTC