Re: UPDATE: initial message concerning syntax

Taken from Peter's "example" attachment:

> ** A normal way of specifying a primitive class:
> 
> <swol:Class rdf:about="Person">
>   <rdfs:subClassOf rdf:resource="Animal" />
>   <rdfs:subClassOf rdf:resource="SentientBeing" />
>   <rdfs:subClassOf>
>     <swol:toClass swol:property="SSN" swol:class="xsd:integer" />
>   </rdfs:subClassOf>
> </swol:Class>

Your proposed syntax get's closer to what I really would like in SWOL, namely a more frame-based look and feel.

The users that I talk to (and they are still of the sophisticated variety, in comparison to the Web community at large), simply want to say that 
"the slot Property SSN for the class Person is restricted to integer values". 

The statement
    <swol:toClass swol:property="SSN" swol:class="xsd:integer" />
get's pretty close to that. 
What still feels very unnatural to these people is having to state this 
as a subclass relationship (ie stating that Person is a subclass of all things with an integral SSN-property. 

People simply don't think of abstract constructions like
"the class of all things with an integral SSN-property", 
and can't get their head around having to model slot restrictions in this way. 

Clearly, I have no problem with the fact that slot-restrictions will be "compiled out" into subclass relationships in the semantics. 

The question is to what extend we can hide this in the syntax.

Your current proposal still makes this construction explicit in the syntax.
And the usual argument that "tools will hide this" only works partially, since (a) it is actually tool builders that get confused by this, and (b) experience tells us that people will end up looking at this stuff a fair amount anyway (at least in the early stages, which are in a way the most critical). 

So ideally, I would like a more radical departure from the DL-based constructions in the syntax, but I understand that this interferes heavily with your attempts to glue this on top of RDF Schema. In particular, a naive suggestion would be to replace:

>   <rdfs:subClassOf>
>     <swol:toClass swol:property="SSN" swol:class="xsd:integer" />
>   </rdfs:subClassOf>

with something like:

<swol:slotRestriction swol:property="SSN" swol:class="xsd:integer" />

But I guess this introduces exactly the problems on top of RDF that you were trying to get rid of?

Frank.
   ----

Received on Saturday, 15 December 2001 09:08:41 UTC