From: Peter F. Patel-Schneider ([email protected])
Date: 10/09/01
The whole point would be to make it all work out, if possible. (I may have
missed the requirement that rest be a daml:ObjectProperty.)
In any case, I've put this on the back burner, a bit, instead concentrating
on the ``friendly'' discussion with Pat.
peter
From: Ian Horrocks <[email protected]>
Subject: Re: more thoughts on daml+oil.daml
Date: Tue, 9 Oct 2001 00:45:37 -0400
> On October 3, Peter F. Patel-Schneider writes:
> > It occurs to me that we could include more of the ``semantics'' of DAML+OIL
> > in daml+oil.daml. For example, we could do more with lists, perhaps
> > something like:
>
> I was under the impression that we had decided NOT to do this kind of
> thing, because it suggests some meaning that is not supported by the
> semantics. For example, in the case of lists, the restrictions are
> meaningless unless "rest" is a daml:ObjectProperty. Even if rest were
> a daml:ObjectProperty, then specifying a list with multiple "rest"
> lists would not (necessarily) lead to an inconsistency, but to the
> inference that all these lists are "equivalent" (their elements are to
> be interpreted as the same resources).
>
> What we really want to say is that lists should have a certain
> structure, and that anything else is just an error. I don't think we
> should be fostering the common misconception that this is what is
> expressed by a DAML+OIL restriction.
>
> Ian
>
>
> >
> > <!-- List terminology. -->
> >
> > <rdfs:Class rdf:ID="List">
> > <rdfs:subClassOf>
> > <#Restriction>
> > <#onProperty rdf:resource="#rest">
> > <#toClass rdf:resource="#List">
> > </#Restriction>
> > </rdfs:subClassOf>
> > <rdfs:subClassOf>
> > <#Restriction #maxCardinality="1">
> > <#onProperty rdf:resource="#rest">
> > </#Restriction>
> > </rdfs:subClassOf>
> > <rdfs:subClassOf>
> > <#Restriction #maxCardinality="1">
> > <#onProperty rdf:resource="#first">
> > </#Restriction>
> > </rdfs:subClassOf>
> > </rdfs:Class>
> >
> > <rdfs:Class rdf:ID="Empty">
> > <rdfs:subClassOf rdf:resource="List">
> > <rdfs:subClassOf>
> > <#Restriction #cardinality="0">
> > <#onProperty rdf:resource="#rest">
> > </#Restriction>
> > </rdfs:subClassOf>
> > <rdfs:subClassOf>
> > <#Restriction #cardinality="0">
> > <#onProperty rdf:resource="#first">
> > </#Restriction>
> > </rdfs:subClassOf>
> > </rdfs:Class>
> >
> > <Empty rdf:ID="nil">
> > </Empty>
> >
> > We could also define typed lists for things like unionOf.
> >
> > <daml:Class rdf:ID="ClassList">
> > <rdfs:subClassOf rdf:resource="#List">
> > <daml:intersectionOf>
> > <daml:List>
> > <daml:first>
> > <daml:Restriction>
> > <daml:onProperty rdf:resource="#first">
> > <daml:toClass rdf:resource="#Class">
> > </daml:Restriction>
> > </daml:first>
> > <daml:rest>
> > <daml:List>
> > <daml:first>
> > <daml:Restriction>
> > <daml:onProperty rdf:resource="#rest">
> > <daml:toClass rdf:resource="#ClassList">
> > </daml:Restriction>
> > </daml:first>
> > <daml:rest rdf:resource="#nil">
> > </daml:List>
> > </daml:rest>
> > </daml:List>
> > </daml:intersectionOf>
> > </daml:Class>
> >
> > <rdf:Property rdf:ID="unionOf">
> > <rdfs:domain rdf:resource="#Class"/>
> > <rdfs:range rdf:resource="#ClassList"/>
> > </rdf:Property>
> >
> >
> > Comments?
> >
> > peter
This archive was generated by hypermail 2.1.4 : 04/02/02 EST