The Core Spec defines the following three types of resource for RDF/XML representation:
Resource value-types Resource - http://open-service.net/xmlns/oslc-core/resource-types#Resource In-Line - http://open-service.net/xmlns/oslc-core/resource-types#InLine Complex - http://open-service.net/xmlns/oslc-core/resource-types#Complex However, these don't cover an important use case, i.e. how to refer to a blank node. In my EMS 1.0 spec, I needed to define table resources. The columns are labelled by blank nodes and the cells of the rows reference these column resources. I was led to this design because the order of properties is not significant in RDF/XML in general. Using properties like rdf:li to assign an order obscures the relation between the cell and the column it's in. Conceptually the cell refers to the column heading. The solution is to use rdf:nodeID to identify blank nodes and to refer to them from properties. Also, the name of In-line and Complex don't capture their essential difference since both are represented inline. The difference between then is how the resources are identified, i,e, via URI or blank node. I propose that we use the following resource type naming scheme that uses a more orthogonal approach. "inline" means that the value of the resource is given by a node element (i.e. the resource is given inline). "local" means that the resource is a blank node, which may have a local identifier. Each of these adjectives may modify the term "resource". The combinations are as follows: "resource" - the property element. has an rdf:resource attribute that gives the URI of the resource. "local resource" - the property element has an rdf:nodeID attribute that gives the local blank node ID of the resource (the ID is local to the RDF/XML document) "inline resource" - the property element contains a node element that contains the resource's properties, and the node element has an rdf:about attribute that gives the URI of the resource. "local inline resource" - the property element contains a node element that contains the resource's properties, and the node element does NOT have an rdf:about attribute. It MAY have an rdf:nodeID attribute that gives the local ID of the resource. Regards, ___________________________________________________________________________ Arthur Ryman, PhD, DE Chief Architect, Project and Portfolio Management IBM Software, Rational Markham, ON, Canada | Office: 905-413-3077, Cell: 416-939-5063 Twitter | Facebook | YouTube
