[oslc-core] Issue: Using "local" and "inline" to Describe Resource Types

Arthur Ryman ryman at ca.ibm.com
Mon Apr 12 14:33:31 EDT 2010


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







More information about the Oslc-Core mailing list