- From: Bijan Parsia <bparsia@isr.umd.edu>
- Date: Fri, 7 Jan 2005 16:16:09 +0900
- To: jos.deroo@agfa.com
- Cc: www-rdf-logic@w3.org
Good for you, Jos. On Jan 7, 2005, at 10:35 AM, jos.deroo@agfa.com wrote: > Couldn't resist and had few nightly hours left :) > *If* you want nnf to be your problem for a while > then one can write in N3 such triples as > > {?C a :BaseClass} => {?C a :GivenClass}. > {?C a :BaseClass} => {?C :isRewrittenAs ?C}. How do you determine something is a baseclass? Oh, you have to declare it explicitly. You cannot detect it from the syntax. > {(:tilde (:tilde ?C)) a :GivenClass. ?C a :GivenClass. ?C > :isRewrittenAs > ?CC} => {(:tilde (:tilde ?C)) :isRewrittenAs ?CC}. [snip] Notice that you took on a somewhat different challenge than I intended, as you are using an alternative encoding of class expressions than the one in OWL. One based on lists. One designed, actually, to look like my syntax :) One that will have trouble due to the fact that RDF lists aren't normal lists. At this point we've moved away from a straight triple representation to other sorts of encoding. And I'm sure N3 presumes stronger semantic for lists than is given in the RDF semantics (or can be given first order). Indeed, look a the *syntax* for lists! It's designed to help the human. But why not help the program writer as well as the author?! Also, you had to import extra domain level assertions in order to make things work (:GivenClass, etc.). Unfortunate. Plus, you have to touch the store, it seems. Oh, wait, you're using formulae sort of like functional terms. Hmm. That pushes it closer to the kind of thing I'd do in Prolog. That just emphasizes, IMHO, how far it is from using RDF in the proposed ways. (E.g., why not put the expressions in an XMLLiteral? And add some builtins for calling XSLT sheets? While not exact, this is closer to what you've done than what Geoff tried.) But you also get the Kudos for Putting Up. Rock, rock on! Cheers, Bijan Parsia.
Received on Friday, 7 January 2005 07:15:59 UTC