Why so few constraints RDF schema?

Hi,

a number of us in the electric power industry are working on an XML language
for describing power systems.  We have a industry standard schema (in UML),
which we have converted to RDF using the RDF-schema vocabularly (see
http://www.cim-logic.com/cim-rdf.htm).  We even have some software to
convert power system models to RDF documents conforming to this schema.
Ultimately, this language will be used to exchange power system data between
utilities throughout the US.

Here's the problem: why are there so few constraints in RDF-schema? Surely
there are some universally applicable constraint properties beyond domain
and range?  The two we miss the most are property cardinality and property
inverses.

Consider cardinality. The RDF model allows repeated property instances, a
feature we find more extensible than collections for expressing many-valued
associations. Of course we can just invent our own cardinality constraint,
for example:

<rdfs:ConstraintProperty rdf:ID="cardinality">
  <rdfs:label xml:lang="en">cardinality</rdfs:label>
  <rdfs:domain
rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
  <rdfs:range
rdf:resource="http://www.w3.org/TR/1999/PR-rdf-schema-19990303#Literal"/>
  <rdfs:comment>
        Indicates how many statements about a given resource with are
allowed
        with the given property as predicate and distinct values.
        Allowed cardinality values are:
        zero-or-one,
        exactly-one,
        zero-or-more,
        one-or-more.
   </rdfs:comment>
</rdf:ConstraintProperty>

While we are at it we might need to express that one Property is the inverse
of another:

<rdfs:ConstraintProperty rdf:ID="inverseOf">
  <rdfs:label xml:lang="en">inverseOf</rdfs:label>
  <rdfs:domain
rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
  <rdfs:range
rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
  <rdfs:comment>
        Indicates that the subject, p1, and the object, p2, are inverse
        properties. Each statement (p1, r1, r2) implies an inverse
        statement (p2, r2, r1).
   </rdfs:comment>
</rdf:ConstraintProperty>

Can anyone comment on this please?

Arnold deVos
Convener, Electric Power Research Institute XML Working Group
Alstom ESCA Corporation
arnold@esca.com

Received on Wednesday, 14 April 1999 17:54:22 UTC