- 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