- From: Ian Horrocks <horrocks@cs.man.ac.uk>
- Date: Mon, 28 Apr 2003 12:54:35 +0100
- To: "Jeremy Carroll" <jjc@hplb.hpl.hp.com>
- Cc: <www-webont-wg@w3.org>
On April 28, Jeremy Carroll writes: > > I am not sure this proposal is monotonic, maybe I have misunderstood ... > > > > > RDF Graphs > > ========== > > > > Again, the obvious solution seems to be to combine some values from > > and cardinality into a single mapping. Simple cardinality constraints > > can then use the same mapping with the qualifying class set to > > owl:Thing, while someValuesFrom can use the minValuesFrom mapping with > > the cardinality set to 1. There are two obvious possibilities for the > > mapping, i.e., attaching the min/max/blank to the valuesFrom property > > name or to the cardinality property name. The first of these seems > > more consistent with the above abstract syntax. > > > > E.g., minVaulesFrom using the valuesFrom property to indicate the "min": > > > > restriction(ID minValuesFrom(required min)) _:x rdf:type > > owl:Restriction . > > _:x rdf:type owl:Class . [opt] > > _:x rdf:type rdfs:Class . [opt] > > _:x owl:onProperty T(ID) . > > _:x owl:minValuesFrom T(required) . > > _:x owl:cardinality "min"^^xsd:nonNegativeInteger . > > > > or using the cardinality property to indicate the "min": > > > > restriction(ID valuesFrom(required min)) _:x rdf:type owl:Restriction . > > _:x rdf:type owl:Class . [opt] > > _:x rdf:type rdfs:Class . [opt] > > _:x owl:onProperty T(ID) . > > _:x owl:valuesFrom T(required) . > > _:x owl:minCardinality "min"^^xsd:nonNegativeInteger . > > > > > > If we retain the current RDF graph syntax > _:x rdf:type owl:Restriction . > _:x owl:onProperty T(ID) . > _:x owl:cardinality "min"^^xsd:nonNegativeInteger . > > > > > or using the cardinality property to indicate the "min": > > > _:x rdf:type owl:Restriction . > _:x owl:onProperty T(ID) . > _:x owl:minCardinality "min"^^xsd:nonNegativeInteger . > > > Then I believe that adding the extra triple as suggested is non-mon. > > > Maybe the proposal is that the current (RDF graph) syntax for cardinality > constraints is dropped and all such restrictions have to be qualified (e.g. > to owl:Thing) - this would be monotonic, but a bit of a drag. If we want to retain the current (RDF graph) syntax for cardinality then you are probably right about the non-mon problem. We could fix this by inventing an new property for cardinality in the QCR case, e.g.: restriction(ID minValuesFrom(required min)) _:x rdf:type owl:Restriction . _:x rdf:type owl:Class . [opt] _:x rdf:type rdfs:Class . [opt] _:x owl:onProperty T(ID) . _:x owl:minValuesFrom T(required) . _:x owl:valueCardinality "min"^^xsd:nonNegativeInteger . This is also a bit of a drag though in terms of having excessive/redundant syntax. Remember that the existing form of unqualified cardinality restriction can be written as: restriction(ID minCardinality(min)) _:x rdf:type owl:Restriction . _:x rdf:type owl:Class . [opt] _:x rdf:type rdfs:Class . [opt] _:x owl:onProperty T(ID) . _:x owl:minValuesFrom owl:Thing . _:x owl:cardinality "min"^^xsd:nonNegativeInteger . I appreciate that this would involve more extensive changes to existing documents, which may be (highly) undesirable! Ian > > Jeremy >
Received on Monday, 28 April 2003 07:45:32 UTC