- From: Holger Knublauch <holger@topquadrant.com>
- Date: Thu, 13 Nov 2014 10:49:42 +1000
- To: public-data-shapes-wg@w3.org
On 11/13/2014 4:46, Arthur Ryman wrote:
> Irene,
>
> Your analysis of the graphs involved is correct,
Good to see some basic alignment. Also good to see specific URLs to play
with. Now the details...
> Graph 1 is the OSLC RDFS vocabulary document. You navigate to this by
> deferencing the type URI, e.g. oslc_cm:ChangeRequest = <
> http://open-services.net/ns/cm#ChangeRequest>
>
> Graph 2 is the OSLC Resource Shape for CM. This is linked from the spec.
> Its URI is
> http://open-services.net/pub/Main/CmSpecificationV2Shapes/oslccm-change-request-shape.xml
I looked at the triples produced by derefencing ...#ChangeRequest and see
<http://open-services.net/ns/cm#ChangeRequest>
a rdfs:Class , owl:Ontology ;
rdfs:comment "The CM Change Request resource" ;
rdfs:isDefinedBy <http://open-services.net/ns/cm#> ;
rdfs:label "ChangeRequest" ;
rdfs:seeAlso
<http://open-services.net/bin/view/Main/CmSpecificationV2#Resource_ChangeRequest>
;
rdfs:subClassOf rdfs:Resource ;
owl:versionInfo "owl:Ontology added by TopBraid"^^xsd:string .
Which looks like it uses rdfs:seeAlso to point at an HTML document. I
don't understand how it points to the .xml file that you mention. So I
guess there is no formal link and the rdfs:seeAlso is just an
informative link to humans?
> Graphs 3 and 4 are combined into a Resource Shape and are hosted by the
> tool that implements and extends OSLC. The OSLC Core spec defines a
> discovery mechanism that lets you find a variety of information, including
> the shapes. Basically, the tool provides a resource that contains links to
> a variety of metadata resources, e.g. http://mytool.example.com/services.
> See [1].
Looking at the discovery mechanism my first reaction is that this is
fairly specific to your architecture. Am I wrong here, and do you
suggest the WG also specifies such a mechanism as part of the W3C standard?
>
> Graph 5 is an instance of a CM resource hosted by the tool, e.g.
> http://mytool.example.com/resource/42
>
> Now suppose you want to create a new instance of a CM resource. This is
> done by POSTing an RDF representation to a URL (a creation factory). You
> can discover the URL of the creation factory by looking at the service
> provider metadata resource http://mytool.example.com/services, which also
> links to the shape (via oslc:resourceShape).
>
> In your proposal, how do you discover the shape of the resource?
From your Figure 2, I can see that CreationFactory takes both a Shape
(oslc:resourceShape) and an rdf:type (oslc:resourceType) as its
arguments. Would it work if you substitute resourceShape with the URL of
a graph? That graph would extend the globally shared class definition, e.g.
oslc_cm:ChangeRequest
oslc:property [
... any new property for this application
] .
... and owl:imports the default definition of ex:ChangeRequest to
inherit the global constraints. The creation factory would operate on
the union of those graphs (its imports closure). (We can of course use
another property than owl:imports, if that's a problem).
>
> I believe the difference is that:
> 1) instead of oslc:ResourceShape resources, you are proposing that the
> constraints be put in an OWL/SPIN file that has the RDF type URI
> oslc_cm:ChangeRequest, as a subject node.
Yes, as above.
> 2) instead of oslc:resourceShape, you are proposing to use owl:import (or
> maybe another property less specific to OWL)
Yes, you could use oslc:shapeGraph to point at the snippet above.
Please let us know if this would be a viable compromise for your use cases.
Thanks
Holger
Received on Thursday, 13 November 2014 00:52:24 UTC