- From: <jos.deroo@agfa.com>
- Date: Tue, 15 Feb 2005 14:35:10 +0100
- To: danbri@w3.org
- Cc: Henry Story <henry.story@bblfish.net>, semantic-web@w3.org, semantic-web-request@w3.org
Hi, Dan I did just a 5 min test with Cwm and Euler :) given data :a :r1 :b. :a :r2 :c. :g :r1 :b. :g :r2 :c. :p :cifp (:r1 :r2). and some rules capturing only cases for 1, 2 and 3 cifp properties {?C :cifp ?L. ?L rdf:first ?P; rdf:rest rdf:nil. ?A ?P ?X. ?B ?P ?X} => {?A owl:sameAs ?B}. {?C :cifp ?L. ?L rdf:first ?P; rdf:rest ?M. ?M rdf:first ?Q; rdf:rest rdf:nil. ?A ?P ?X; ?Q ?Y. ?B ?P ?X; ?Q ?Y} => {?A owl:sameAs ?B}. {?C :cifp ?L. ?L rdf:first ?P; rdf:rest ?M. ?M rdf:first ?Q; rdf:rest ?N. ?N rdf:first ?R; rdf:rest rdf:nil. ?A ?P ?X; ?Q ?Y; ?R ?Z. ?B ?P ?X; ?Q ?Y; ?R ?Z} => {?A owl:sameAs ?B}. the N3QL query [] q:select {?X owl:sameAs ?Y}; q:where {?X owl:sameAs ?Y}. gave us :a owl:sameAs :a. :a owl:sameAs :g. :g owl:sameAs :a. :g owl:sameAs :g. -- Jos De Roo, AGFA http://www.agfa.com/w3c/jdroo/ Dan Brickley <danbri@w3.org> Sent by: semantic-web-request@w3.org 15/02/2005 13:09 To: Henry Story <henry.story@bblfish.net> cc: semantic-web@w3.org, (bcc: Jos De_Roo/AMDUS/MOR/Agfa-NV/BE/BAYER) Subject: Re: Combined Inverse Functional Properties * Dan Brickley <danbri@w3.org> [2005-02-15 06:58-0500] > > * Henry Story <henry.story@bblfish.net> [2005-02-15 12:29+0100] > > > > Here is the same idea, but put in terms of deductions. > > > > Assuming that R1 and R2 are CIFP relations on Class C1, the following > > would be the type of deduction I would be looking for. > > Migrating an IRC discussion back into email from #foaf just now...: > http://www.ilrt.bris.ac.uk/discovery/chatlogs/foaf/2005-02-15#T11-57-23 > > <bblfish> sh1mmer: I have been thinking about CIFP's recently. You may > have seen my post on SemWeb. > * danbri suggests trying to write some N3 rules, see if Cwm or others > * tools can handle it... > <danbri> oh, re > <danbri> a ----R1----> b > <danbri> a ----R2----> c > <danbri> g ----R1----> b > <danbri> g ----R2----> c > <danbri> a -rdf:type-> C1 > <danbri> g -rdf:type-> C1 > <danbri> ------------------- > <danbri> a--owl:sameAs--> g > <danbri> are the rdf:type arcs necessary? > <danbri> things have lots of types, and their descriptions don't always > mention then, so requiring a match on rdf:type lowers the chance of the > rule firing > <bblfish> I am not sure if the rdf types are necessary, but I was > thinking of CIFP's as somewhat related to Class restrictions > <bblfish> but you are right, I could write that out as N3 rules. > <danbri> I don't think it works quite the same > <danbri> N3 plus a bunch of test cases is nearly all you need for a > decent definition of CIFP > <bblfish> yes. Perhaps that is all that sh1mmer needs too. > <danbri> I'd drop the rdf:type constraint, and add in, 'R1 rdf:type > util:CIFP','R2 rdf:type util:CIFP' > > Anyone tried such things in Cwm, or other reasoners? Oh, to save anyone else the trouble of correcting me... <bblfish> mind you I think the R1 rdf:type util:CIFP won't work. It is too general. One needs a way of grouping CIFPs somehow (C stands for combined), or else all there will only <bblfish> be CIFPs one large CIFP group. I think that is why I was thinking of them as a little like restrictions. <danbri> yeah fair point, sorry, typed before thinking <danbri> all i meant really was, put all the assumptions explicitly into the ruleset <bblfish> yes, quite right. cheers, Dan
Received on Tuesday, 15 February 2005 13:35:48 UTC