EARL 1.0 HTTP graph conformance: graphs or things?

This EARL HTTP-in-RDF stuff is pretty neat; it's clear that
a lot of careful thought has gone into it.

I'm not sure how to read the conformance requirements:

"Graphs conforming to this HTTP-in-RDF specification must meet the
following requirements:

     1. A Connection must have exactly one connection authority"

Do you mean to constrain the syntax or the semantics here?

If you mean to constrain the semantics, a clear way to
say it is:

  Each Connection is related by http:connectionAuthority to
  exactly one thing.

Better yet, use OWL; add this to the schema:

  http:Connection
     SubClassOf: http:connectionAuthority exactly 1.

(that's written in OWL manchester syntax; I can
work out the details of how to spell it
in RDF/XML if you clarify that this is what you want.)

Based on that, if we saw:

  :x a http:Connection; http:connectionAuthority :y, :z.

that would not be an error, but it would allow
us to conclude:

  :y owl:sameAs :z.

If you mean to constrain the syntax to prevent the
example above, a clear way to say it is:

  Each term related to http:Connection by rdf:type must
  be related by http:connectionAuthority to exactly one term. 

That becomes a mouthful; I suggest using SPARQL;
say that any graph that gives a "yes" answer
to this query violates the constraint:
  ask {
   ?c a http:Connection.
   ?c http:connectionAuthority ?a1.
   ?c http:connectionAuthority ?a2.
   filter (?a1 != ?a2)
  }

I don't see the value in constraining the syntax; I don't
see how any of your use cases need it. Constraining the
semantics by adding OWL stuff to the schema has all sorts
of valuable uses, on the other hand.

-- 
Dan Connolly, W3C http://www.w3.org/People/Connolly/
gpg D3C2 887B 0F92 6005 C541  0875 0F91 96DE 6E52 C29E

Received on Tuesday, 15 December 2009 20:50:12 UTC