Hi Hugh

Any further news/progress on this?

I would really like to get my next release made this week and would very 
much prefer not to have to ship it with some variation of "Virtuoso support 
is broken" as a Known Issue.  But I have a lot of bug fixes for my own 
code's issues in the new release which I would really like to get out to my 
users.

I can't keep pushing back my release indefinitely and would ideally like to 
release by the end of the week.

Thanks,

Rob

----------------------------------------
From: "Hugh Williams" <[email protected]>
Sent: 21 February 2011 11:59
To: [email protected]
Subject: Re: [Virtuoso-users] Missing datatypes using ADO.NET 

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

Best RegardsHugh WilliamsProfessional ServicesOpenLink SoftwareWeb: 
http://www.openlinksw.comSupport: http://support.openlinksw.comForums: 
http://boards.openlinksw.com/supportTwitter: 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" <[email protected]>
Sent: 20 February 2011 23:16
To: "Rob Vesse" <[email protected]>, "Anton Andreev" 
<[email protected]>, "Moritz Eberl" <[email protected]>
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.ta
r.gz
Please download build and test to confirm these issues have been resolved.

Best RegardsHugh WilliamsProfessional ServicesOpenLink SoftwareWeb: 
http://www.openlinksw.comSupport: http://support.openlinksw.comForums: 
http://boards.openlinksw.com/supportTwitter: 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" <[email protected]>
Sent: 26 January 2011 17:45
To: [email protected]
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 RegardsHugh WilliamsProfessional ServicesOpenLink SoftwareWeb: 
http://www.openlinksw.comSupport: http://support.openlinksw.comForums: 
http://boards.openlinksw.com/supportTwitter: 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" <[email protected]>
Sent: 26 January 2011 13:45
To: "Moritz Eberl" <[email protected]>
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 RegardsHugh WilliamsProfessional ServicesOpenLink SoftwareWeb: 
http://www.openlinksw.comSupport: http://support.openlinksw.comForums: 
http://boards.openlinksw.com/supportTwitter: 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" <[email protected]>

        Sent: 26 January 2011 11:51

        To: [email protected]

        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

      [email protected]

      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
[email protected]
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
[email protected]
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/virtuoso-users


Reply via email to