[oslc-Metrics] Discussion: Use of rdf:ID to give URIs to parts of resources

Arthur Ryman ryman at ca.ibm.com
Fri Sep 24 12:16:23 EDT 2010


Workgroup members,

While reviewing the spec, I found a problem in the definition Fact Tables 
[1]. Fact Tables have columns and cells. Each cell explicitly refers to 
the column that it belongs to  using a local resource identifier aka a 
blank node defined using the rdf:nodeID attribute. This reference is 
needed because the order of elements is not significant in RDF/XML like it 
is in HTML or normal XML.

The problem is that a Fact Table could get long and that when the server 
returns it, the result may have to be split into several pages. However, 
the meaning of a blank node is scoped to a document. Therefore there is no 
way to refer to the column defined in page 1 from the cell defined in page 
2.

The fix is very simple. Instead of using blank nodes, we use 
resource-relative URIs which are defined by rdf:ID (instead of 
rdf:nodeID). This gives the Columns in a Fact Table stable URIs which can 
be referenced from any other resource. The URIs are hash URIs, i.e. they 
use fragment identifiers. For example, suppose a Fact Table was contained 
in a query response, 
http://braintwistors.example.com/taskphocus/Query/3365. [2] The column 
URIs in that example would become:

http://braintwistors.example.com/taskphocus/Query/3365#d1
http://braintwistors.example.com/taskphocus/Query/3365#m1

When refering to these URIs from another document, the full URI can be 
used, or you can use the xml:base attribute to identify the resource that 
the Columns are defined in, and use just the relative #m1 and #m2 URIs.

Since the above is a problem in the spec, I am going to correct. Please 
adjust your implementations.

This raises the question of whether we should allow rdf:ID on any element 
since this gives us a useless way to refer to parts of a larger resource. 
This is very useful for HTML documents and might also be useful for EMS. 
For example, it might be useful to refer to a specific assumption 
contained in a Scenario resource, a specific prediction in an Estmate, or 
a specific observation in a Measurement .

Does anyone see any problem in allowing these fragment URIs to be defined? 
I'll add this topic to a future telecon.

[1] http://open-services.net/bin/view/Main/MetricsEmsFactTable
[2] 
http://open-services.net/bin/view/Main/MetricsEMS10PrimerMonitoringAndControllingExecution#Listing_of_Defect_Arrival_Rate_M

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






More information about the Oslc-Metrics mailing list