- From: <jos.deroo@agfa.com>
- Date: Wed, 6 Apr 2005 00:55:45 +0200
- To: $)Cjos.deroo@agfa.com
- Cc: $)CJeremy Wong |\{rUa <50263336@student.cityu.edu.hk>, Chris Purcell <cjp39@cam.ac.uk>, semantic-web@w3.org
$)Cdid some slight changes and also tested with cwm ### given @prefix owl: <http://www.w3.org/2002/07/owl#>. @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. @prefix : <http://example.org/eg#>. :X owl:oneOf ( :A ). :Y owl:oneOf ( :A :B ). :Z owl:oneOf ( :A :C ). {?B has owl:oneOf ?Y. ?A has owl:oneOf ?X. ?Y :includes ?X} => {?A rdfs:subClassOf ?B}. {?X a rdf:List} => {?X :includes rdf:nil}. {?S rdf:first ?A; a rdf:List. ?X :item ?A. ?S rdf:rest ?B; a rdf:List. ?X :includes ?B} => {?X :includes ?S}. {?L rdf:first ?I; a rdf:List} => {?L :item ?I}. {?L rdf:rest ?R; a rdf:List. ?R :item ?I} => {?L :item ?I}. {?S owl:oneOf ?X} => {?X a rdf:List}. {?L rdf:rest ?X; a rdf:List} => {?X a rdf:List}. ### filter @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. @prefix : <http://example.org/eg#>. {:X rdfs:subClassOf :Y, :Z} => {:X rdfs:subClassOf :Y, :Z}. ### gives @prefix : <http://example.org/eg#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . :X rdfs:subClassOf :Y, :Z . -- Jos De Roo, AGFA http://www.agfa.com/w3c/jdroo/ Jos De_Roo 05/04/2005 22:06 To: Jeremy Wong |\{rUa <50263336@student.cityu.edu.hk>@AGFASMTP cc: Chris Purcell <cjp39@cam.ac.uk>, semantic-web@w3.org Subject: Re: Rule-based approach to conclude owl:intersectionOf > Oh my God.. i'd not make mistake again if it's in set.. :) > CEXT(S(#X)) = {<#A>} > CEXT(S(#Y)) = {<#A>,<#B>} > CEXT(S(#Z)) = {<#A>,<#C>} > i.e. > <#A> rdf:type <#X> , <#Y> , <#Z> . > <#B> rdf:type <#Y> . > <#C> rdf:type <#Z> . > => > <#X> rdfs:subClassOf <#Y> , <#Z> . > => > <#X> owl:intersectionOf (<#Y>,<#Z>) . > > I admit that this kind of inference requires a condition that the collection > of facts is complete. Otherwise the inference results may be ruined if a > fact like <#B> rdf:type <#X> is asserted. However, it is not a too bad > interpretation because the OWL interpretation still satisifies the RDF graph > above. One could say :X owl:oneOf ( :A ). :Y owl:oneOf ( :A :B ). :Z owl:oneOf ( :A :C ). and then :X rdfs:subClassOf :Y, :Z. easily follows, using such rules as { ?B has owl:oneOf ?Y. ?A has owl:oneOf ?X. ?Y :includes ?X } => { ?A rdfs:subClassOf ?B }. { } => { ?X :includes rdf:nil }. { ?S rdf:first ?A. ?X :item ?E. ?E has owl:equivalentClass ?A. ?S rdf:rest ?B. ?X :includes ?B } => { ?X :includes ?S }. { ?S rdf:first ?X } => { ?S :item ?X }. { ?S rdf:rest ?B. ?B :item ?X } => { ?S :item ?X }. At this moment, I can't find proof for :X owl:intersectionOf ( :Y :Z ). i.e. probably have to add some more owl-rules.. > In addition, my main concern is the use of the universal quantification and > the existential quantification. It is because N3 Rules cannot express the > inference described in the above example. My work of rules shows that N3 > Rules is very weak to model OWL restrictions, anyway. I hope to discuss or > to find out the use of the quantification facilities so that the rule-based > approach becomes more powerful as expected. You can have look at http://www.w3.org/2000/10/swap/doc/Rules and convince yourself that it can be easily done :) > :) > Jeremy -- Jos De Roo, AGFA http://www.agfa.com/w3c/jdroo/
Received on Tuesday, 5 April 2005 22:56:06 UTC