Re: Questions Re Abstract Syntax

Stephen Rhoads wrote:
> Folks,
> 
> I'm building an ontology by hand in the Abstract Syntax (which, I must say, is quite enjoyable -- it's so very intuitive) and have a few questions:
> 
> 1.  What is the preferred (or correct) method of describing multiple complete definitions for a class?
> 
> Just use multiple complete Class definitions ...
> 
>    Class(LandscapeAspectRatio complete
>       intersectionOf(AspectRatio
>       restriction(frameWidth hasValue(1.33))
>       restriction(frameHeight hasValue(1.00))))
> 
>    Class(LandscapeAspectRatio complete
>       intersectionOf(AspectRatio
>       restriction(frameWidth hasValue(4.00))
>       restriction(frameHeight hasValue(3.00))))
> 
> ... or describe a Class which is the unionOf all of the definitions ...
> 
>    Class(LandscapeAspectRatio complete
>       unionOf(
>       intersectionOf(AspectRatio restriction(frameWidth hasValue(1.33))
>                                  restriction(frameHeight hasValue(1.00)))
>       intersectionOf(AspectRatio restriction(frameWidth hasValue(4.00))
>                                  restriction(frameHeight hasValue(3.00)))))
> 
> Actually, my knowledge of formal Logic is pretty weak so I don't even know whether the latter approach is technically accurate.  Which brings me to my next two questions:

The two are not equivalent - in the first case you wrote something like:

C1 <-> C2
C1 <-> C3

with the obvious consequence that C2 <-> C3. In the second case you 
wrote something like:

C1 <-> C2 u C3

In this case C2 <-> C3 is obviously not a consequence.

> 
> 2.  Is there anywhere a tutorial or paper on using the Abstract Syntax for those who don't understand BNF?

Not that I know of. If I were you I would use an editor instead - much 
easier and you can export various different syntaxes, including RDF 
syntax as and when you need it. The most popular choices are OilEd and 
Protege.


> 3.  Is there anywhere a tutorial or paper which can help a layperson (Logically speaking) understand the distribution rules for existential and universal quantification?  I stumbled onto [1] but could not fully comprehend.

The Co-Ode project has now produced an extensive tutorial [1].

> 
> 4.  Is it permitted to use Qnames anywhere in the Abstract Syntax (even in values)?

Individual values are URIrefs but data values are (possibly typed) literals.

> 
> 5.  Save me some time ... what books do I need to read, and in what order, to reasonably understand the formal Logic behind DLs.

If you really want to understand DLs then I recommend the DL Handbook [2].

Ian

[1] http://www.co-ode.org/resources/tutorials/ProtegeOWLTutorial.pdf
[2] http://books.cambridge.org/0521781760.htm

> 
> --- Stephen
> 
> [1] http://www.cs.man.ac.uk/~horrocks/Teaching/cs646/Slides/why.ppt
> 
> 

Received on Sunday, 25 July 2004 11:13:46 UTC