Hi Rob,

We are looking into this and will report back with our findings / fix ...

Best Regards
Hugh Williams
Professional Services
OpenLink Software
Web: http://www.openlinksw.com
Support: http://support.openlinksw.com
Forums: http://boards.openlinksw.com/support
Twitter: http://twitter.com/OpenLink

On 21 Feb 2011, at 09:00, Rob Vesse wrote:

> Hi Hugh et al
> 
> Building the latest ADO.Net provider from the snapshot source does appear to 
> fix the datatypes issue for me but I then encounter another issue.
> 
> I'm not sure if this is just due to me only building the ADO.Net provider on 
> it's own and not building the entirety of Virtuoso - any chance you can link 
> a binary build of the provider so I can check this?
> 
> Here is the new issue anyway - essentially parameterized commands appear to 
> now be broken.  I get the following error:
> 
> Other Error
> Virtuoso Error: SQL_ERROR
> SQLSTATE: 37000
> Message: [Virtuoso .NET Data Provider][Virtuoso Server]SQ074: Line 1: syntax 
> error at '@' before 'data'
> 
>    at OpenLink.Data.Virtuoso.Diagnostics.HandleErrors(ReturnCode returnCode, 
> ICreateErrors source) in 
> E:\dotNetRdf\Trunk\Libraries\VirtuosoClient.Net\Diagnostics.cs:line 60
>    at OpenLink.Data.Virtuoso.Diagnostics.HandleResult(ReturnCode returnCode, 
> ICreateErrors source, IDbConnection connection) in 
> E:\dotNetRdf\Trunk\Libraries\VirtuosoClient.Net\Diagnostics.cs:line 50
>    at OpenLink.Data.Virtuoso.ManagedCommand.Execute(String query) in 
> E:\dotNetRdf\Trunk\Libraries\VirtuosoClient.Net\ManagedCommand.cs:line 220
>    at OpenLink.Data.Virtuoso.VirtuosoCommand.ExecuteReader(CommandBehavior 
> behavior) in 
> E:\dotNetRdf\Trunk\Libraries\VirtuosoClient.Net\VirtuosoCommand.cs:line 476
>    at OpenLink.Data.Virtuoso.VirtuosoCommand.ExecuteNonQuery() in 
> E:\dotNetRdf\Trunk\Libraries\VirtuosoClient.Net\VirtuosoCommand.cs:line 395
>    at VDS.RDF.Storage.VirtuosoManager.SaveGraph(IGraph g) in 
> E:\dotNetRdf\Trunk\Libraries\core\Storage\VirtuosoManager.cs:line 418
>    at VDS.RDF.Test.Storage.VirtuosoTest.VirtuosoSaveGraph() in 
> E:\dotNetRdf\Trunk\Testing\unittest\Storage\VirtuosoTest.cs:line 122
> 
> In this errors case the code I use to invoke the command is as follows  (this 
> has worked fine with all previous versions of the provider that I have used):
> 
>                 //Make a call to the TTLP() Virtuoso function
>                 VirtuosoCommand cmd = new VirtuosoCommand();
>                 cmd.CommandText = "DB.DBA.TTLP(@data, @base, @graph, 1)";
>                 cmd.Parameters.Add("data", VirtDbType.VarChar);
>                 cmd.Parameters["data"].Value = 
> VDS.RDF.Writing.StringWriter.Write(g, new NTriplesWriter());
>                 String baseUri = g.BaseUri.ToSafeString();
>                 cmd.Parameters.Add("base", VirtDbType.VarChar);
>                 cmd.Parameters.Add("graph", VirtDbType.VarChar);
>                 cmd.Parameters["base"].Value = baseUri;
>                 cmd.Parameters["graph"].Value = baseUri;
>                 cmd.Connection = this._db;
>                 int result = cmd.ExecuteNonQuery();
> 
> Can you guys either look into this or give me a binary build that I can test 
> myself?  If you want to use this as a test case just replace 
> VDS.RDF.Writing.StringWriter.Writer(g, new NTriplesWriter()) with an 
> arbitrary NTriples/Turtle string and g.BaseUri.ToSafeString() with an 
> arbitrary test URI string.  And this._db is obviously a reference to a 
> VirtuosoConnection object.
> 
> Thanks again for fixing this,
> 
> Rob Vesse
> 
> From: "Hugh Williams" <hwilli...@openlinksw.com>
> Sent: 20 February 2011 23:16
> To: "Rob Vesse" <rve...@vdesign-studios.com>, "Anton Andreev" 
> <tonch...@gmail.com>, "Moritz Eberl" <eberl.mor...@googlemail.com>
> Subject: Re: [Virtuoso-users] Missing datatypes using ADO.NET
> 
> Hi All,
> 
> A new Virtuoso 6.1.3 RC open source  snapshot containing fixes for the 
> missing datatypes in the ADO.Net Provider can be downloaded from:
> 
>       
> ftp://download.openlinksw.com/support/vos/virtuoso-opensource-6-20110218.tar.gz
> 
> Please download build and test to confirm these issues have been resolved.
> 
> Best Regards
> Hugh Williams
> Professional Services
> OpenLink Software
> Web: http://www.openlinksw.com
> Support: http://support.openlinksw.com
> Forums: http://boards.openlinksw.com/support
> Twitter: http://twitter.com/OpenLink
> 
> On 4 Feb 2011, at 11:49, Rob Vesse wrote:
> 
>> Hi Hugh
>> 
>> Any news on this yet?
>> 
>> Thanks,
>> 
>> Rob
>> 
>> From: "Hugh Williams" <hwilli...@openlinksw.com>
>> Sent: 26 January 2011 17:45
>> To: rve...@vdesign-studios.com
>> Subject: Re: [Virtuoso-users] Missing datatypes using ADO..NET
>> 
>> Hi Rob,
>> 
>> OK, we are currently looking into these reported issues and shall report 
>> back with our findings ...
>> 
>> Best Regards
>> Hugh Williams
>> Professional Services
>> OpenLink Software
>> Web: http://www.openlinksw.com
>> Support: http://support.openlinksw.com
>> Forums: http://boards.openlinksw.com/support
>> Twitter: http://twitter.com/OpenLink
>> 
>> On 26 Jan 2011, at 14:04, Rob Vesse wrote:
>> 
>>> Hi Hugh
>>> 
>>> I can confirm that the same issue still happens in my code as well (thought 
>>> it was fixed ages ago :-( ).  The sample application is no use as a 
>>> reference since it only messes about with SqlExtendedStrings for IRIs and 
>>> does nothing with non-IRI types other than call ToString() on them (either 
>>> explicitly or implicitly when displaying them).
>>> 
>>> The problem seems to be that things are being returned as Strings rather 
>>> than as appropriate .Net types.  The only RDF datatypes I can get back 
>>> properly are those with custom datatypes - standard types like Integers, 
>>> Booleans, Date Times etc all come back as plain strings instead of as 
>>> SqlRdfBox or an appropriate .Net type.  Literals with language tags do get 
>>> returned correctly though.
>>> 
>>> I remember bringing up this issue back in April 2010 and I had thought it 
>>> was fixed but it appears not.  This issue is a major pain for people using 
>>> Virtuoso's ADO.Net support whether directly or indirectly via a library 
>>> like mine so please can your developers look into this again asap.
>>> 
>>> Cheers,
>>> Rob
>>> 
>>> P.S. If you finally fix the booleans to integers thing I will be eternally 
>>> grateful especially if you fix the above as well
>>> 
>>> From: "Hugh Williams" <hwilli...@openlinksw.com>
>>> Sent: 26 January 2011 13:45
>>> To: "Moritz Eberl" <eberl.mor...@googlemail.com>
>>> Subject: Re: [Virtuoso-users] Missing datatypes using ADO.NET
>>> 
>>> Hi Moritz,
>>> 
>>> As a starting point are you able to get the sample walkthrough SPASQL 
>>> application we have  at:
>>> 
>>>     
>>> http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtSPASQLWinFormApp
>>> 
>>> working ?
>>> 
>>> The booleans being mapped to integers is a known issue that is scheduled to 
>>> be fixed in a future/next release ...
>>> 
>>> Best Regards
>>> Hugh Williams
>>> Professional Services
>>> OpenLink Software
>>> Web: http://www.openlinksw.com
>>> Support: http://support.openlinksw.com
>>> Forums: http://boards.openlinksw.com/support
>>> Twitter: http://twitter.com/OpenLink
>>> 
>>> On 26 Jan 2011, at 13:12, Moritz Eberl wrote:
>>> 
>>>> Hello Rob,
>>>> 
>>>> currently i do not use any API. I first wanted to be able to get the RDF 
>>>> data with basic SPARQL queries. 
>>>> While trying to figure out what i was doing wrong, i also used your API. 
>>>> The results where pretty much the same. All typed literals were returned 
>>>> as strings.
>>>> 
>>>> You are right about the boolean datatype in Virtuoso. I just tried to 
>>>> store a xsd:boolean, which resulted in a xsd:integer using the RDF/XML 
>>>> representation. 
>>>> 
>>>> Cheers,
>>>> Moritz
>>>> 
>>>> Am 26.01.2011 13:03, schrieb Rob Vesse:
>>>>> 
>>>>> Hi Moritz
>>>>> 
>>>>> What API are you using to manipulate the RDF within your application or 
>>>>> have you rolled your own?
>>>>> 
>>>>> My API dotNetRDF (http://www.dotnetrdf.org) has Virtuoso integration 
>>>>> built in and might be helpful to you as it handles all the data type 
>>>>> retrieval appropriately.  I've had isolated reports that on some machines 
>>>>> things don't come back correctly and I know that it was an issue with 
>>>>> older 6.x releases of Virtuoso (though should be fine in the version 
>>>>> you're using).
>>>>> 
>>>>> One think to note about datatypes is that in my experience Virtuoso 
>>>>> doesn't return all datatypes correctly even when you do a SPASQL select 
>>>>> like you've done and do all the type handling.  If my memory serves me 
>>>>> this particularly applies to xsd:boolean typed literals which come back 
>>>>> as a 1/0 rather than a true/false though if you do a CONSTRUCT over the 
>>>>> same data the type does come back correctly.
>>>>> 
>>>>> Regards,
>>>>> 
>>>>> Rob Vesse
>>>>> 
>>>>> From: "Moritz Eberl" <eberl.mor...@googlemail.com>
>>>>> Sent: 26 January 2011 11:51
>>>>> To: virtuoso-users@lists.sourceforge.net
>>>>> Subject: [Virtuoso-users] Missing datatypes using ADO.NET
>>>>> 
>>>>> Hello,
>>>>> 
>>>>> i am trying to use Virtuoso as RDF store for a C# application with .Net 
>>>>> 4, but i have some issues with the ADO.NET library. I have no troubles 
>>>>> creating triples with SPARQL using SPASQL, but the retrieval is 
>>>>> problematic. In the result set, all typed literals are strings without 
>>>>> type information. I get the IRI as SqlExtendedString and the literals 
>>>>> with language information as SqlRdfBox, so no problem there. Now i am 
>>>>> wondering what i'm doing wrong.
>>>>> This is how i access the data:
>>>>> 
>>>>> DataTable results = new DataTable();
>>>>> results.Columns.Add("s", typeof(System.Object));
>>>>> results.Columns.Add("p",typeof(System.Object));
>>>>> results.Columns.Add("o", typeof(System.Object));
>>>>> VirtuosoCommand cmd = Connection.CreateCommand();
>>>>> cmd.CommandText = "SPARQL select * where {?s ?p ?o.}"; //just an example 
>>>>> here
>>>>> VirtuosoDataAdapter adapter = new VirtuosoDataAdapter(cmd);
>>>>> adapter.Fill(results);
>>>>> 
>>>>> I also tried to use the RDF/XML output, although not optimal 
>>>>> performance-wise, it kind of worked. One thing i noticed though, was 
>>>>> that ASK statments produce malformed XML.
>>>>> As example, this statment
>>>>> SPARQL define output:format "RDF/XML" ask where {?s ?p ?o.};
>>>>> produced
>>>>> 
>>>>> xmlns:rs="http://www.w3.org/2005/sparql-results#"; 
>>>>> xmlns:xsd="http://www.w3.org/2001/XMLSchema#"; >
>>>>> 
>>>>> 
>>>>> rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean";>1
>>>>> 
>>>>> 
>>>>> The prefix of the closing result tag is missing. You can try it in the 
>>>>> Interactive SQL form of the conductor.
>>>>> 
>>>>> My system specs:
>>>>> OS: Windows 7 64-bit
>>>>> Virtuoso: Open-Source-Edition Version 06.01.3127 - Build Jul 9 2010 32-bit
>>>>> virtado3.dll: Version 6.2.3128.1
>>>>> 
>>>>> It would be great if somebody could help me to resolve my issues.
>>>>> 
>>>>> Cheers,
>>>>> Moritz
>>>>> 
>>>>> ------------------------------------------------------------------------------
>>>>> Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
>>>>> Finally, a world-class log management solution at an even better 
>>>>> price-free!
>>>>> Download using promo code Free_Logger_4_Dev2Dev. Offer expires 
>>>>> February 28th, so secure your free ArcSight Logger TODAY! 
>>>>> http://p.sf.net/sfu/arcsight-sfd2d
>>>>> _______________________________________________
>>>>> Virtuoso-users mailing list
>>>>> Virtuoso-users@lists.sourceforge.net
>>>>> https://lists.sourceforge.net/lists/listinfo/virtuoso-users
>>>>> 
>>>> 
>>>> ------------------------------------------------------------------------------
>>>> Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
>>>> Finally, a world-class log management solution at an even better 
>>>> price-free!
>>>> Download using promo code Free_Logger_4_Dev2Dev. Offer expires 
>>>> February 28th, so secure your free ArcSight Logger TODAY! 
>>>> http://p.sf.net/sfu/arcsight-sfd2d_______________________________________________
>>>> Virtuoso-users mailing list
>>>> Virtuoso-users@lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/virtuoso-users
>>> 
>>> 
>>> ------------------------------------------------------------------------------
>>> Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
>>> Finally, a world-class log management solution at an even better price-free!
>>> Download using promo code Free_Logger_4_Dev2Dev. Offer expires 
>>> February 28th, so secure your free ArcSight Logger TODAY! 
>>> http://p.sf.net/sfu/arcsight-sfd2d_______________________________________________
>>> Virtuoso-users mailing list
>>> Virtuoso-users@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/virtuoso-users
>> 
>> 
> 
> 
> 
> ------------------------------------------------------------------------------
> The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
> Pinpoint memory and threading errors before they happen.
> Find and fix more than 250 security defects in the development cycle.
> Locate bottlenecks in serial and parallel code that limit performance.
> http://p.sf.net/sfu/intel-dev2devfeb_______________________________________________
> Virtuoso-users mailing list
> Virtuoso-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/virtuoso-users

Reply via email to