|
From: Tomasz P. <tom...@gm...> - 2014-06-16 15:56:39
|
On Mon, Jun 16, 2014 at 4:55 PM, Rob Vesse <rv...@do...> wrote:
> Which version is this? I'm assuming pre 1.0.4 or lower?
>
No, I got that behaviour in 1.0.5.x as well.
>
> Since you are talking about Store Manager then this sounds like TOOLS-409
> which was already reported and fixed for the 1.0.5 release. It was a bug
> in how Store Manager passed the data to the underlying writers.
>
This isn't only the Store Manager but also instances of TripleStore.
When LoadFromFile() of LOAD <x> is used it's fine. But after updating
a fresh store with INSERT DATA, wrong dataset will be serialized.
>
> Note that serializing an in-memory store directly in code was not affected
> in any way.
>
> The creation of the empty default graph is an implementation detail, any
> SPARQL Update which inserts data potentially causes the default graph to
> be created because the SPARQL specification states that a dataset always
> contains an unnamed default graph and some parts of the implementation
> assume graphs will already exist so it is safer and faster to pre-create
> any graphs that will potentially be affected.
>
> LOAD is a special case because it is really just a shim to the parser
> sub-system and the way the parser sub-system generates data means that
> only specifically mentioned graphs are ever created.
>
> Rob
>
> On 16/06/2014 15:14, "Tomasz Pluskiewicz" <tom...@gm...>
> wrote:
>
>>Hi
>>
>>We've noticed weird behaviour with in-memory triple store, when
>>serializing to NQuads. Here's what happens:
>>
>>1. Create an empty TripleStore
>>2. Run UPDATE
>>
>>INSERT DATA {
>>GRAPH <http://test.org/user> {
>><http://test.org/user>
>><http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
>><http://schema.org/Person> .
>><http://test.org/user> <http://some/ontology/favorite>
>><http://test.org/product/name> .
>>}
>>GRAPH <http://test.org/prodList/> {
>><http://test.org/user> <http://xmlns.com/foaf/0.1/primaryTopic>
>><http://test.org/user> .
>>}
>>}
>>
>>3. Serialize to NQuads. Store Manager correctly informs that 3 triple
>>were serialized in 3 graphs (including empty default graph).
>>
>>The output file contains all triples, but without graph names. Thus
>>they are all serialized in the default graph. It's not a problem with
>>the store in-memory. The insert creates correct graph with data.
>>I've confirmed this occurs in all version since 1.0.0.
>>
>>Curiously only when data is loaded with a LOAD <x> INTO GRAPH <y>
>>command or with dNetRDF API, the store is serialized correctly. Only
>>INSERT DATA causes the problem.
>>
>>Is this a known problem?
>>
>>And by the way. Why INSERT DATA creates an empty default graph in the
>>store while loading or LOAD <x> only creates those graphs actually
>>included in the source files?
>>
>>Greets,
>>Tom
>>
>>--------------------------------------------------------------------------
>>----
>>HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
>>Find What Matters Most in Your Big Data with HPCC Systems
>>Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
>>Leverages Graph Analysis for Fast Processing & Easy Data Exploration
>>http://p.sf.net/sfu/hpccsystems
>>_______________________________________________
>>dotNetRDF-bugs mailing list
>>dot...@li...
>>https://lists.sourceforge.net/lists/listinfo/dotnetrdf-bugs
>
>
>
>
>
> ------------------------------------------------------------------------------
> HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
> Find What Matters Most in Your Big Data with HPCC Systems
> Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
> Leverages Graph Analysis for Fast Processing & Easy Data Exploration
> http://p.sf.net/sfu/hpccsystems
> _______________________________________________
> dotNetRDF-bugs mailing list
> dot...@li...
> https://lists.sourceforge.net/lists/listinfo/dotnetrdf-bugs
|