Her are my comments on [1]: Resources:
The definition "Resource: A network data object or service that can be identified by a URI. Resources may be available in multiple representations (e.g. multiple languages, data formats, size, resolutions) or vary in other ways. (HTTP/1.1) " gives the HTTP view of a resource. However, this is not the same as the RDF view. In RDF a resource is anything. Some resources are information resources on the network. Other resource are real world objects, e.g. the person Dave Johnson, or the number 42. RDF resources may be identified either by URI references or literals, and a given resource may have many identifiers. I think it's important to explain this since it could cause confusion when we talk about data models (it confused me for a long time). Query: We should expand the notion of query to apply to any resource, not just special Query resources that have type oslc:Query. We should be able to append query parameters on to any resource and GET a modified representation. If the resource has members then we can search for members that satisfy conditions, and get some data about the members of the result set. OSLC Resource and Defined Resource: We should pick better terms to distinguish between types and instances. e.g.: An OSLC Resource is an instance of an OSLC Resource Type. An OSLC Defined Resource is an OSLC Resource Type. Or is an OSLC Resource a type defined in a non-core spec? OSLC Defined Resources The relation between QName and Type URI is that the QName is the compact form of the Type URI, e.g. concatenating the namespace and local name of the QName gives the Type URI (this is part of RDF). URI Query Parameters The oslc.properties query parameter is conceptual similar to the other Query query parameters and we should treat them the same. Also, we support inlining properties and nested property names. RDF Properties rdf:about is not really a property. It defines the subject of triples who predicates and others follow in the XML. Rules for forming an RDF/XML representation The following rule is incorrect: If the property value is a URI, then put the URI In the rdf:about attribute of the XML element The rdf:resource attribute should be used here since that is used to specify the object of a triple. OSLC Service Resource The example should be change to indicate that the URIs are not just string values, i.e. they are resources: <oslc:Service rdf:about="http://example.com/services"> <dc:title>OSLC Service: Change Management</dc:title> <oslc:type rdf:resource="http://open-services.net/xmlns/" /> <oslc:creationResource rdf:resource="http://example.com/create-cr" /> <oslc:queryResource rdf:resource="http://example.com/create-cr" /> <oslc:resourceShapeResource rdf:resource="http://example.com/defectShape" /> <oslc:resourceShapeResource rdf:resource="http://example.com/taskShape" /> <oslc:resourceShapeResource rdf:resource="http://example.com/improvementShape" /> <!-- other properties here... --> </oslc:Service> OSLC Query Resource The use of oslc:Query to represent the result of a query that returns multiple resources of possibly different types is essentially the same as the rdf:RDF element so we should use that since it's part of RDF/XML. We could put <oslc:Query> instead <rdf:RDF> to include information about the query, e.g. the query URL, the timestamp, the next page, etc. HTML We should include HTML and XHTML as useful, optional, representation formats and recommend the use of RDFa to include the same machine readable triples as would be found in RDF/XML. [1] http://open-services.net/bin/view/Main/OSLCCoreSpecDRAFT
