Thanks Hugh

I've been looking through my code again in detail to look at workarounds and
here's some more information that might be relevant.

So it turns out we already use DB.DBA.TTLP when writing entire graphs to the
store which works fine for blank nodes.  The problem case is when we want to
add/remove specific triples to a graph.

We're using INSERT DATA and DELETE DATA which don't accept blank nodes, I
may be wrong about the behavior having changed from previous versions and it
may just be the case that we and our users never tested with adding/removing
blank nodes via this means and so never saw the bug until now.

Regardless of whether the behavior did change or not the question still
remains what is the appropriate way to add/remove triples containing blank
nodes via the ADO.Net Provider?

The workaround I'm testing now for inserting new triples is to detect
whether any of those triples contain blank nodes and if so use DB.DBA.TTLP
instead of INSERT DATA.  This still leaves me with the problem of how to
delete triples with blank nodes, right now I'm resorting to throwing an
error saying this isn't supported but I'd ideally like a better solution
than that.  The only way I can think of doing this right now (which is going
to be terribly performant and not scalable) is to load the entire graph into
memory, do the deletes in memory and then write the whole graph back to the
store.

Thanks,

Rob

From:  Hugh Williams <hwilli...@openlinksw.com>
List-Post: virtuoso-users@lists.sourceforge.net
Date:  Wednesday, May 23, 2012 9:46 AM
To:  Cray Employee <rve...@vdesign-studios.com>
Cc:  <virtuoso-us...@lists.sf.net>
Subject:  Re: [Virtuoso-users] Inserting Blank Nodes via ADO.Net Provider

Hi Rob,

We are checking this behaviour to see what might have changed, should have
an update for you soon ...

Best Regards
Hugh Williams
Professional Services
OpenLink Software, Inc.      //              http://www.openlinksw.com/
10 Burlington Mall Road, Suite 265, Burlington MA 01803
Weblog   -- http://www.openlinksw.com/blogs/
LinkedIn -- http://www.linkedin.com/company/openlink-software/
Twitter  -- http://twitter.com/OpenLink
Google+  -- http://plus.google.com/100570109519069333827/
Facebook -- http://www.facebook.com/OpenLinkSoftware
Universal Data Access, Integration, and Management Technology Providers

On 23 May 2012, at 16:44, Rob Vesse wrote:

> Hugh
> 
> Some help with this would be much appreciated
> 
> Rob
> 
> From:  Cray Employee <rve...@vdesign-studios.com>
> Date:  Monday, May 21, 2012 8:25 AM
> To:  <virtuoso-us...@lists.sf.net>
> Subject:  [Virtuoso-users] Inserting Blank Nodes via ADO.Net <http://ADO.Net>
> Provider
> 
> Hi All
> 
> dotNetRDF uses the ADO.Net <http://ADO.Net>  provider to talk to Virtuoso and
> has always used a SPASQL INSERT DATA command to insert data into the quad
> store.
> 
> Up until a few versions ago this worked fine regardless of the data but a user
> recently reported a bug that highlights that from at least 6.1.3 onwards and
> certainly in 6.1.5 this method no longer accepts blank nodes.  AFAICT this
> appears to be due to Virtuoso starting to align more closely to the official
> SPARQL 1.1 Update standard rather than the old SPARUL informal standard.
> 
> Obviously I do not expect Virtuoso to revert to the previous behavior because
> I would much rather have it align properly with the standard but I'm wondering
> what is now the best way to insert data containing blank nodes via the ADO.Net
> <http://ADO.Net>  provider?
> 
> Can I still use INSERT DATA and just use some special syntax for blank nodes
> 
> E.g.
> 
> <_:bnode> or <nodeID://bnode>
> 
> Or do I need to use an alternative method like call DB.DBA.TTLP() ?
> 
> Rob Vesse
> ------------------------------------------------------------------------------
> Live Security Virtual Conference Exclusive live event will cover all the ways
> today's security and threat landscape has changed and how IT managers can
> respond. Discussions will include endpoint security, mobile security and the
> latest in malware threats.
> http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/_____________________
> __________________________ Virtuoso-users mailing list
> Virtuoso-users@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listin
> fo/virtuoso-users
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and
> threat landscape has changed and how IT managers can respond. Discussions
> will include endpoint security, mobile security and the latest in malware
> threats. 
> http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/_____________________
> __________________________
> Virtuoso-users mailing list
> Virtuoso-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/virtuoso-users



Reply via email to