Hi Jerven,

you are right.

looking further - it seems that it was an issue with the Sesame 2.6.6 - http://www.openrdf.org/issues/browse/SES-1047
and luckily,  it has been resolved in 2.6.7.

just checked the current behavior using Jeni's queries on owlim-se 5.2.+sesame 2.6.8 and it works right, according to the cited working draft - e.g. does not clear repository contents.

So to Jeni - I recommend either upgrading to Sesame 2.6.7 or get/request a new Owlim build that is bundled with Sesame 2.6.8, since there were small API changes to Sesame 2.6.8 that makes it incompatible with the older Owlim releases.

Regards,
Damyan Ognyanov
Ontotext AD

On 9/18/2012 1:33 PM, Jerven Bolleman wrote:
Hi Damyan,

Hmm, this looks odd to me because in the CONSTRUCT case
the triple pattern with unbound values does not get generated.

i.e.
CONSTRUCT { ?a ?p ?o} where {?s ?p ?o}
produces no new triples
So I would expect
DELETE DATA { ?a ?p ?o} where {?s ?p ?o}
to not delete any triples.

There is also a part in the sparql update 1.1. current last working draft which supports this belief.[1] "If any solution produces a triple containing an unbound variable or an illegal RDF construct, such as a literal in a subject or predicate position, then that triple is not included in the output RDF graph."
This language was not in the May 2011 draft.

Regards,
Jerven

[1] http://www.w3.org/TR/sparql11-update/#deleteInsert


On 09/18/2012 11:09 AM, damyan wrote:
Hi,

looks to me as 'expected behavior' - it is the OPTIONAL statement that
cause it - since it is not mandatory to produce a solution from the main
block of the query, you'll end up with no bindings for ?b ?p2 and ?o2 in
the projection so, then the DELETE part of the query will threat the
missing bindings as wildcards to issue individual 'remove' operations
for each such solution ...

HTH,
Damyan

On 9/18/2012 11:37 AM, Jeni Tennison wrote:
Hi,

I'm hoping someone here can help me with the following behaviour in
OWLIM that seems odd. I can't work out whether it's a bug in the query
or in OWLIM.

First, set up a couple of triples:

BASE <http://example.org/>
INSERT DATA {
   GRAPH <graph> {
     <a> <p> <b> .
     <c> <p> <d> .
   }
}

Then try to delete everything about <a> and everything about things
related to it through <p> (ie about <b>, though note there are no
triples about <b>):

BASE <http://example.org/>
DELETE {
   <a> ?p1 ?o1 .
   ?b ?p2 ?o2 .
} WHERE {
   <a> ?p1 ?o1 .
   OPTIONAL {
     <a> <p> ?b .
     ?b ?p2 ?o2 .
   }
}

When I run this update against this data, everything in the
triplestore gets deleted. Is this expected behaviour?

Thanks,

Jeni

_______________________________________________
Owlim-discussion mailing list
Owlim-discussion@ontotext.com
http://ontomail.semdata.org/cgi-bin/mailman/listinfo/owlim-discussion



_______________________________________________
Owlim-discussion mailing list
Owlim-discussion@ontotext.com
http://ontomail.semdata.org/cgi-bin/mailman/listinfo/owlim-discussion

Reply via email to