From: Ian Horrocks ([email protected])
Date: 05/16/01
Dan, DAML+OIL can express this already. e.g., for UniqueProperty: <daml:Class rdf:about="#Family"> <rdfs:subClassOf> <daml:Restriction daml:maxCardinality="1"> <daml:onProperty rdf:resource="#surName"/> </daml:Restriction> </rdfs:subClassOf> </daml:Class> (i.e., every instance of Family has at most one name), and for UnambiguousProperty: <daml:Class rdf:about="#Thing"> <rdfs:subClassOf> <daml:Restriction daml:maxCardinalityQ="1"> <daml:onProperty> <daml:inverseOf rdf:resource="#surName"/> </daml:onProperty> <daml:hasClassQ rdf:resource="#Family"/> </daml:Restriction> </rdfs:subClassOf> </daml:Class> (i.e., every instance of Thing is the surName of at most 1 Family). Please forgive any syntax errors (was going to try n3 but didn't have time to check out the necessary details). Note that I am not commenting on whether or not DAML+OIL needs to provide this idiom directly. Ian On May 16, Dan Connolly writes: > Just like we make a domain-dependent version > of RDF's range, I'd like UniqueProperty > and UnambiguousProperty to be domain-dependent; > i.e. make them into properties that relate > a property to a class. > > So I could say > > :surName ont:unambiguousOver :Family. > > This has come up before in my work; oh yeah... > I specified it pretty carefully a while ago... > > [[[ > unambiugousOver is a class-specific form of daml:Unambiguous; in the > style of the DAML+OIL axiomatic semantics, the following is a > specification for > it: > > (<=> (PropertyValue ?p unambiguousOver ?c) > (forall (?x ?y ?v) > (=> (and (Type ?x ?c) (Type ?y ?c) > (PropertyValue ?p ?x ?v) > (PropertyValue ?p ?y ?v)) > (= ?x ?y))))) > ]]] > > -- Using XML Schema Datatypes in RDF and DAML+OIL > http://www.w3.org/2001/01/ct24 > Thu, 15 Feb 2001 22:23:12 GMT > > -- > Dan Connolly, W3C http://www.w3.org/People/Connolly/
This archive was generated by hypermail 2.1.4 : 04/02/02 EST