[Oslc-Automation] Templates: Submitting as blank nodes?

Martin P Pain martinpain at uk.ibm.com
Mon Jan 6 11:24:13 EST 2014


The new template dialog section [1] of the spec does not include any 
instructions on what to do with such a template.

I know (or at least think I know) from the previous discussions that the 
intention is to submit it to a creation factory.
Firstly, this is not stated. (Admittedly, consumers can do anything they 
like with it when they have it, so we don't want to restrict this, but 
perhaps we should express our intention. Perhaps a link to the scenario 
page?)

Secondly, this template will be a resource with a specific URI. When you 
submit it to the creation factory, if you do no processing of the resource 
you will be submitting it with that template URI. The Core spec on 
creation factories [2] doesn't state whether the RDF being POSTed to it 
should be a blank node or have a URI - and if the latter, what it does 
with that URI.
I guess, as it currently stands, it would be up to the implementation to 
either replace the URI in the representation POSTed to the factory, or to 
create the new AutoRequest at the same URI (although this might cause 
problems if submitted more than once).

We also use the template concept in Actions, in the "HTTP request with RDF 
body" interaction pattern [3].

In both these cases - both with template dialogs and Actions - it's 
possible that implementations might want to specify whether the template 
should be POSTed with the subject URIs intact, or whether it should be 
copied to a blank node (as it's a new resource that will be created, at a 
factory-assigned URI).
With Actions, if we go down the route of defining a ContentAsRDF class, 
then this would be possible as the provider could set the value of the 
(proposed) oslc:resource either to be a link to a URI to be dereferenced 
(if the template is to be submitted with-URI) or as a blank node (if it is 
to be submitted as a blank node). We could reuse this with template 
dialogs if the resource that is linked to from the returned oslc:results 
data is a ContentAsRDF resource. Otherwise, the template will always have 
a URI, as it is always retrieved by a dereference.
(To be honest, in the Actions case, we could still achieve this without 
the ContentAsRDF resource, as http:body can be a link or a blank node, but 
this way we can get the same behaviour in both cases with a single 
definition - by defining this behaviour on the ContentAsRDF class.)

(This would also allow the template dialog to return a ContentAsText or 
ContentAsBase64 [4], which may or may not be useful in the "Delegated UI 
dialog for later execution" Action interaction pattern [5], where we 
haven't specifically specified that we're POSTing to a creation factory - 
or if the provider wants to encode the RDF as text to avoid asserting a 
triple which is not true until the action is executed.)

Does anyone think it might be useful to always have a 'content' resource 
(ContentAsRDF/ContentAsText/ContentAsBase64) around a template? Or would 
it be unnecessary noise?

Martin




[1] 
http://open-services.net/wiki/automation/OSLC-Automation-Specification-Version-2.1/#Resource-Template-Creation-Dialog
[2] 
http://open-services.net/bin/view/Main/OslcCoreSpecification?sortcol=table;up=#Creation_Factories
[3] 
http://open-services.net/wiki/core/Exposing-arbitrary-actions-on-RDF-resources/#pattern-rdf-body
[4] http://www.w3.org/TR/Content-in-RDF/
[5] 
http://open-services.net/wiki/core/Exposing-arbitrary-actions-on-RDF-resources/#pattern-dialog-delayed-execution

Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 
741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://open-services.net/pipermail/oslc-automation_open-services.net/attachments/20140106/6c1a7bc6/attachment-0003.html>


More information about the Oslc-Automation mailing list