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


Reply via email to