- From: Nathan <nathan@webr3.org>
- Date: Sat, 09 Oct 2010 20:37:17 +0100
- To: Melvin Carvalho <melvincarvalho@gmail.com>
- CC: Semantic Web <semantic-web@w3.org>, Pat Hayes <phayes@ihmc.us>
Hi Melvin:) Perhaps I can help a little on this one Melvin Carvalho wrote: > Three problems come to mind: > > One problem is the canonicalization of RDF seriealizations, and hence, > ability to sign it with DSIG. It seems quite hard to canonicalize > bnodes, right now. yup you'd have to come up with a special rule set for canonicalizing BlankNodes - it's the same problem you get when serializing objects which are references in OO land - could be addressed with a free day or two :) > Another is referring to data in another graph, say I wanted to > annotate, access control, transform etc. these use cases all need looked at separately, but the short answer is there's two approaches - the first is to work on the resource / 'HTTP document' level and: handle access control at a per HTTP resource level (how we already do it) - to handle transformation again you need to leverage HTTP headers (Link) to specify the transformation rules, or to work on a media type level where X transformation set is for Y media type. As for annotation then there are two ways to do it, one is to again work at resource level: <http://example.org/my-doc> a :Document; dc:creator :me; dc:created "2010-10-09T20:29:30Z" . You can put that in any graph, the problem though is that your referencing the 'current state' of a resource/graph, in that if the contents of http://example.org/my-doc change then what you've said about it may not still be correct - like saying that I created $var where $var can change at any time. The way around this is to either sign the full resource (the http packet) not so nice, or to use graph literals (aka quoted graphs) and annotate that, this way the statements you are talking about (the triples) are embedded within the full statement you are making so can't change temporally. { ... bunch of triples... } dc:creator :me ; dc:created "2010-10-09T20:29:30Z" ; a :Truth . > Another that I was personally trying to solve was an easy way to diff > elements in a triple store cross domain, e.g. for sync purpose I've had a good stab at this a couple of times, but came to the conclusion that again this requires graph literals / quoted graphs as per http://www.w3.org/DesignIssues/Diff In other words, you're hitting all the reasons I found I needed N3 (or at least turtle + graphs like AIR does) to handle these situations. Best, Nathan
Received on Saturday, 9 October 2010 19:38:37 UTC