good morning;

> On 2015-08-18, at 11:52, Martynas Jusevičius <[email protected]> wrote:
> 
> This was getting off-topic, so I changed the subject.
> 
> So these HTTP operations would have to be executed on a a quad
> endpoint that represents the dataset as a whole? And if I PUT a single
> quad, the whole store would be wiped and replaced with it? Or am I
> missing something?
> 
> Dydra has documented some HTTP logic here - are we talking about the same 
> thing?
> https://github.com/dydra/sparql-tests/blob/master/suites/http-api/README.md#triples-quads-and-named-graph-in-import-requests

not entirely.

the graph store protocol specifies nothing for quad content types.
the text refers to operations in the manner of

   store the enclosed RDF payload as RDF graph content

where the common definition for “RDF graph content” and the examples, such as

    PUT /rdf-graph-store?graph=..graph_uri.. HTTP/1.1
    Host: example.com
    Content-Type: text/turtle
    
    ... RDF payload ...    
    

    DROP SILENT GRAPH <graph_uri>;
    INSERT DATA { GRAPH <graph_uri> { .. RDF payload .. } }

indicate that protocol pertains to triple request and reply content only.
that is any quad data is constructed by combining the specified graph with 
triple content.

which leaves open the behavior with respect to quad content.

in order that we (that is dydra) do not need to define and implement an 
otherwise redundant service to support quad content, we extend the graph store 
protocol to define the server actions for quad content in addition to triple 
content.
absent such support, for example, there is no way to address a request to a 
graph store endpoint, which pertains to the entire content of a repository 
within a single transaction, as each request would be restricted to a single 
graph.
such operations are the subject of the table, cited above.

best regards, from berlin,

> 
> On Tue, Aug 18, 2015 at 8:57 AM, Andy Seaborne <[email protected]> wrote:
>> On 17/08/15 22:40, Martynas Jusevičius wrote:
>>> 
>>> So what are the semantics of POSTing quads and PUTing quads?
>> 
>> 
>> Append and replace as per HTTP.
>> 
>> RFC 7231: 4.3.3. POST
>> ...
>>      - Extending a database through an append operation.
>> ...
>> 
>> (any ordering implied by "extend" is irrelevant for a set of quads)
>> 
>> 
>> RFC 7231: 4.3.4.  PUT
>> 
>>   The PUT method requests that the state of the target resource be
>>   created or replaced with the state defined by the representation
>>   enclosed in the request message payload.
>> 
>> 
>>> 
>>> On Mon, Aug 17, 2015 at 11:32 PM, Andy Seaborne <[email protected]> wrote:
>>>> 
>>>> On 17/08/15 22:21, Martynas Jusevičius wrote:
>>>>> 
>>>>> 
>>>>> Is that an oversight in the GSP spec?
>>>> 
>>>> 
>>>> 
>>>> Not really - the GET/POST/PUT on the dataset itself is just normal use of
>>>> HTTP.
>>>> 
>>>> The "Graph Store Protocol" for managing a graph store.  What it really
>>>> adds
>>>> is the naming convention, ?default and ?graph.
>>>> 
>>>>         Andy
>>>> 
>>>> 
>>>>> 
>>>>> I had done something similar (which I use as a low-level API):
>>>>> 
>>>>> 
>>>>> https://github.com/Graphity/graphity-core/blob/master/src/main/java/org/graphity/core/util/DataManager.java
>>>>> 
>>>>> 
>>>>> On Mon, Aug 17, 2015 at 10:16 PM, Andy Seaborne <[email protected]> wrote:
>>>>>> 
>>>>>> 
>>>>>> On 17/08/15 20:26, Martynas Jusevičius wrote:
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> Andy,
>>>>>>> 
>>>>>>> I have a related question. What if I have a Dataset at hand, not a
>>>>>>> Model - how do I send it to a remote Graph Store?
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> The SPARQL Graph Store Protocol does not mention this.  Fuseki supports
>>>>>> REST-ish PUT/POST/GET on the dataset URL.
>>>>>> 
>>>>>> Currently, you need to send it yourself -- HttpOp.execHttpPost has lots
>>>>>> for
>>>>>> support for that e.g. see DatasetGraphAccessorHTTP for sending a model
>>>>>> -
>>>>>> generalise to datasets.
>>>>>> 
>>>>>> We have been talking about this on dev@
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> http://mail-archives.apache.org/mod_mbox/jena-dev/201508.mbox/%3C55BE6A0B.5020404%40apache.org%3E
>>>>>> 
>>>>>> where we're talking about bring the remote (and local) interaction
>>>>>> together
>>>>>> and whetre I'm suggesting adding the plain-old HTTP ops on teh dataset
>>>>>> URL.
>>>>>> 
>>>>>>          Andy
>>>>>> 
>>>>>> 
>>>>>>> 
>>>>>>> Martynas
>>>>>>> 
>>>>>>> On Mon, Aug 17, 2015 at 9:19 PM, Andy Seaborne <[email protected]>
>>>>>>> wrote:
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> DatasetAccessor
>>>>>>>> 
>>>>>>>> This is the API to the SPARQL Graph Store Protocol.
>>>>>>>> 
>>>>>>>> Model model = ...
>>>>>>>> DatasetAccessor acc = DatasetAccessorFactory.createHTTP
>>>>>>>>           ("http://.../datasets/data";) ;
>>>>>>>> acc.add(model) ; // adds to existign data, if any.
>>>>>>>> 
>>>>>>>> or
>>>>>>>> 
>>>>>>>> acc.putModel(model) -- which overwrites existing data
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On 17/08/15 20:11, [email protected] wrote:
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> There may be a better answer for this, but at the very least, you
>>>>>>>>> can
>>>>>>>>> serialize your triples/quads and use SPARQL Update to send them to
>>>>>>>>> your
>>>>>>>>> Fuseki instance.
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> ---
>>>>>>>>> A. Soroka
>>>>>>>>> The University of Virginia Library
>>>>>>>>> 
>>>>>>>>> On Aug 17, 2015, at 3:08 PM, Andy Doddington
>>>>>>>>> <[email protected]>
>>>>>>>>> wrote:
>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> On 17 Aug 2015, at 19:50, Andy Doddington
>>>>>>>>>> <[email protected]> wrote:
>>>>>>>>>> 
>>>>>>>>>> Hoping the subject makes my query clear - since I am a total newbie
>>>>>>>>>> in
>>>>>>>>>> this area.
>>>>>>>>>> 
>>>>>>>>>> I have created a tiny model, using
>>>>>>>>>> ModelFactory.createDefaultModel()
>>>>>>>>>> to
>>>>>>>>>> create my initially empty model,
>>>>>>>>>> which I then populate manually.
>>>>>>>>>> 
>>>>>>>>>> So, having done this, is there any way that I can persist this to a
>>>>>>>>>> Fuseki database running on a remote server?
>>>>>>>>>> 
>>>>>>>>>> Thanks for any help,
>>>>>>>>>> 
>>>>>>>>>>           Andy D
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>> 
>>>> 
>> 

---
james anderson | [email protected] | http://dydra.com





Reply via email to