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