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
