LANG: compliance levels

I must apologise for not getting the discussion on the definition
of the compliance levels off the ground last week (if you look at the
CfP for ECAI'02 you will know why).

I must also apologise for not being on tonight's teleconf, because I'm
on a train back from Germany (the joys of European projects!)

To give at least an initial move on my action item, below I:
- summarise the current status
- identify a few groups of language features that "go together"
- propose a number of potential layerings derived from these groups.

Given the time pressure, this has not been discussed in the task-force on this action item, and is simply written in my own name. 

Frank.
   ----

CURRENT SITUATION

Until now, we've seen the following proposals:
[a] "original proposal":
    original proposal by Ian, Peter and me at [1]
    A variant of this was to move all the cardinalities into level 1. 
    This move was uncontroversial, so I will take that as read.
    It was felt that this proposal did not contain many often used
    constructions from level 2. 
    
[b] "top heavy proposal":
    Everything is in level 1, except arbitrary combinations of boolean
    expressions. 
    (This was on the board after a public auction session at the F2F)
    Suggested name: "farcical level 2" (since there was wide agreement
    that this resulted in a level 2 not worth wanting)

GROUPS OF LANGUAGE FEATURES

In what follows I try to get away from the "item by item" discussion by
grouping some of the language features, and propose a few
levelling-options.

One extreme interpretation of this proposal is to take >*all*< of these
as separate levels (I wouldn't be unsympathetic to this, by the
way). Another one is of course to join some of these.

GROUPS OF LANGUAGE FEATURES:

I propose the following groups of features, each with a name for use
in the discussion:

- RDF Schema stuff
- (In)equality
- Property characteristics
- Framy stuff:
- Full booleans & class expressions:

as follows:

RDF Schema stuff
    (using only classID's ("named classes") as arguments)
    primitiveclass   
    subClassOf
    subpropertyof    
    domain
    range
    Property
    named & unnamed Individual

(In)equality
    sameClassAs(<classID>)
    samePropertyAs
    sameIndividualAs
    differentIndividualAs
    
Property characteristics
    inversOf
    transitive
    symmetric 

Named class stuff
  (where classes appear in the expressions using classID's only
   ("named classes"), ie. not arbitrary <definition>'s) 
  extra class-defining constructs
    definedclass     
    enumeratedclass  
  slot constructs
    range,
    optional/required
    singlevalued/multivalued
    required range/value
  cardinality constructs
    cardinality
    mincardinality
    maxcardinality
    singlevaluedproperty
    uniquelyidentifying property

Booleans & class expressions:
    (allow arbitrary <definition>'s for the following:)
    primitiveclass
    definedclass
    sameclassas
    subclass
    domain
    range
  boolean combinations
    disjoint      [note: change to Disjoint( <definition> {,<definition>>} ) ]
    unionOf
    intersectionOf
    complementOf

POSSIBLE LAYERS

Possible layers would be

- Level: RDF Schema 

- Level: RDF Schema plus (in)equality
  (often requested by implementors in the DAML programme)

- Level: RDF Schema on steroids:
  RDF Schema plus (in)equality and property characteristics

- Level: The old "original proposal" 
  Favourable reactions were received on this as a layer (with the
  cardinalities thrown in). As Guus has shown, this is close to UML. 

- Level: Full languag:
  add booleans & class expressions

This provides a number of possibilities:
all of these separate layers, or some mergers among the above.

Frank.
   ----

[1] http://www.cs.vu.nl/~frankh/spool/OWL-first-proposal/frame-annotated.html

Received on Thursday, 18 April 2002 09:51:47 UTC