[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