[oslc-core] Rethinking link labels without reified statements

Arthur Ryman ryman at ca.ibm.com
Tue Jun 12 15:28:08 EDT 2012


Steve,

I don't see how named graphs would work for us. We are making the 
assumption that resources have RDF representations. RDF is just triples. 
Named graphs are quads. Named graphs are not part of RDF (yet?). They are 
a storage concept. We'd need a new media type to describe them, e.g. use 
TriG with application/x-trig.

Sending named graphs would also mess up our indexing story since we create 
a named graph for each resource. But if a resource contains named graphs, 
how would be store them? Maybe we'd need a quintuple store :-)

Regards, 
___________________________________________________________________________ 

Arthur Ryman 

DE, Chief Architect, Reporting &
Portfolio Strategy and Management
IBM Software, Rational 

Toronto Lab | +1-905-413-3077 (office) | +1-416-939-5063 (mobile) 





From:
Steve K Speicher <sspeiche at us.ibm.com>
To:
oslc-core at open-services.net
Date:
06/12/2012 03:05 PM
Subject:
[oslc-core] Rethinking link labels without reified statements
Sent by:
oslc-core-bounces at open-services.net



In looking at what is on the roadmap for the W3C RDF Working Group in 
considering deprecating reified statements [1] I took the action to 
explore the way we currently do things like "link labels" [2] using the 
recommended alternative of named graphs[3].  I'm sending this note out to 
see if anyone else has any interesting insight on how this can be 
accomplished.  I plan to send a note to the RDF WG as well.

To be honest, I struggle to find a clean way to do this with named graphs. 

 Added to some of the challenges is how to define a simple PATCH format 
that can be used to patch these reified statements.

Take for example this simple change request:
@prefix ex: <http://example.com/bugtracker> .
@prefix oslc: <http://open-services.net/ns/core#> .
@prefix oslc_cm: <http://open-services.net/ns/cm#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix dcterms: <http://purl.org/dc/terms/> .

<http://example.com/bugs/2314>
   a oslc_cm:ChangeRequest ;
   oslc_cm:relatedChangeRequest <http://myserver/mycmapp/bugs/1235> ,
      <http://remoteserver/mycmapp/defects/abc123> .

_:b1 
        a rdf:Statement;
        rdf:subject <http://example.com/bugs/2314>;
        rdf:predicate oslc_cm:relatedChangeRequest;
        rdf:object <http://myserver/mycmapp/bugs/1235>;
        dcterms:title "My special link title".

So if I want to NOT use reified statements I'd have to model this 
relationship a bit differently.  One idea would be to use a named graph 
for the link statements. 
The questions that need to be answered with this approach are:

1. Simply how to form that graph and/or how to relate the graph with the 
right "relationship" triple?

In thinking through this, it feels like I'm inventing reification and 
doesn't seem like the desired outcome.  Let's try to force it for a moment 

and say we can "compute" the graph name based on the relationship triple. 
So for my example above, we have something horrible like (not encoding):
Graph name = <http://example.com/bugs/2314|http://open-services.net/ns/cm#
relatedChangeRequest|http://myserver/mycmapp/bugs/1235>

2. What is the subject of the triples within this new named graph?
The subject and object of the relationship triple don't appear to be the 
right choice.  Though, since we have this special private graph, perhaps 
we can just use the object to pick one since we shouldn't have any 
conflicts.

So the example becomes:

@prefix ex: <http://example.com/bugtracker> .
@prefix oslc: <http://open-services.net/ns/core#> .
@prefix oslc_cm: <http://open-services.net/ns/cm#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix dcterms: <http://purl.org/dc/terms/> .

<http://example.com/bugs/2314>
   a oslc_cm:ChangeRequest ;
   oslc_cm:relatedChangeRequest <http://myserver/mycmapp/bugs/1235> ,
      <http://remoteserver/mycmapp/defects/abc123> .

:<http://example.com/bugs/2314|http://open-services.net/ns/cm#
relatedChangeRequest|http://myserver/mycmapp/bugs/1235> = {
   <http://myserver/mycmapp/bugs/1235> dcterms:title "My special link 
title".     # This is a lie, not right subject
}

This seems like a complete non-obvious abuse of this.   Hopefully someone 
sees a more clear way to leverage named graphs and why I'm taking this 
discussion to the mailing list.  If not, we can provide this feedback to 
RDF WG and see if they have a proper solution or will justify keeping 
reification or some subset.

[1] - http://www.w3.org/2011/rdf-wg/track/issues/25 , 
http://open-services.net/pipermail/oslc-core_open-services.net/2012-February/001229.html

[2] - 
http://open-services.net/bin/view/Main/OslcCoreSpecAppendixLinks#2_Anchor
[3] - 
http://www.w3.org/TR/2012/WD-rdf11-concepts-20120605/#section-dataset

Thanks,
Steve Speicher | IBM Rational Software | (919) 254-0645


_______________________________________________
Oslc-Core mailing list
Oslc-Core at open-services.net
http://open-services.net/mailman/listinfo/oslc-core_open-services.net








More information about the Oslc-Core mailing list