W3C home > Mailing lists > Public > www-rdf-logic@w3.org > January 2005

Re: RDF as a syntax for OWL

From: Bijan Parsia <bparsia@isr.umd.edu>
Date: Thu, 6 Jan 2005 21:40:56 +0900
Message-Id: <35C90922-5FE0-11D9-97A5-000D93C1F7A6@isr.umd.edu>
Cc: geoff@sover.net, www-rdf-logic@w3.org
To: "Peter F. Patel-Schneider" <pfps@research.bell-labs.com>

(I hope to comment on Geoff's excellent effort directly, in detail 
later. But I should acknowledge...)

On Jan 6, 2005, at 9:34 PM, Peter F. Patel-Schneider wrote:
>
> From: "Geoff Chappell" <geoff@sover.net>
> Subject: RE: RDF as a syntax for OWL (was Re: same-syntax extensions 
> to RDF)
> Date: Wed, 5 Jan 2005 22:07:52 -0500
>
>>> -----Original Message-----
>>> From: www-rdf-logic-request@w3.org 
>>> [mailto:www-rdf-logic-request@w3.org]
>>> On Behalf Of Bijan Parsia
>>> Sent: Wednesday, January 05, 2005 10:28 AM
>>> To: www-rdf-logic@w3.org
>>> Subject: Re: RDF as a syntax for OWL (was Re: same-syntax extensions 
>>> to
[snip]
>>> I'll even give the rules:
>>> 	I'll use ~ for not (complementOf)
>>> 		& for conjunction (intersectionOf)
>>> 		v for disjunction (unionOf)
>>> 		some for existential quantification (someValuesFrom)
>>> 		all for universal quantification (allValuesFrom)
>>> 	I'll use fairly normal infixy syntax. I'll happily convert to
>>> something else.
>>>
>>> 	For (compound) class expressions C and D
>>> 		nnf(~~C)) => nnf(C)
>>> 		nnf(~(C & D)) => nnf(~C) v nnf(~D)
>>> 		nnf(~(C v D)) => nnf(~C) & nnf(~D)
>>> 		nnf(~some(P, C)) => all(P, nnf(C))
>>> 		nnf(~all(P, C)) => some(P, nnf(C))
>>>
>>> 	Base case: for atomic class name C
>>> 		nnf(C) => C
>>> 		nnf(~C) => ~C
>>>
>>> That's almost the prolog program :)
>
> Almost, but not nearly.

Oops, yeah.

>   The above is a specification of the
> transformations that need be done to transform to NNF.  It doesn't 
> (except
> for the base case) give the identity transforms.
[snip]

Good point. Where C and D are class expressions
	nnf(C&D) => nnf(C)&nnf(D)
	nnf(CvD) => nnf(C) v nnf(D)
	nnf(some(P, C)) => some(P, nnf(C))
	nnf(all(P, C)) => all(P, nnf(C))

Did I miss any?

Cheers,
Bijan Parsia.
Received on Thursday, 6 January 2005 12:41:02 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 2 March 2016 11:10:43 UTC