James,

so which of the entries in the table represents the following case?

    PUT /rdf-graph-store
    Host: example.com
    Content-Type: application/n-quads

    <http://one.example/subject1> <http://one.example/predicate1>
<http://one.example/object1> <http://example.org/graph1> .

If no graph is specified, and /rdf-graph-store is a "graph store
endpoint, which pertains to the entire content of a repository", will
such request replace that content with a single quad?

On Tue, Aug 18, 2015 at 12:15 PM, james anderson <[email protected]> wrote:
> 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