<br>Hi! <br>
I'm using librdf with Virtuoso. It seems that I have successfully built everything but I would like to 
pose queries directly to Virtuoso and this feature is not working.<br>
<br>
According to 
<a href="http://www.openlinksw.com/dataspace/dav/wiki/Main/VirtRDFDriverRedland">http://www.openlinksw.com/dataspace/dav/wiki/Main/VirtRDFDriverRedland</a> 
in order to bypass Rasqal 'vsparql' has to be used as the query language.<br>
<br>
If I do so, I get no results at all.<br>
<br>
Is anybody using this feature?<br>
<br>
thanks in advance<br>
Lorena<br><div class="gmail_quote"><br>ps: I´m including a small working example based on Redland test.php<br>
<br>
<?php<br>
<br>
$world=librdf_php_get_world();<br>
<br>
print "<p>Redland world opened\n</p>";<br>
<br>
$options = "dsn='Local Virtuoso',user='dba',password='dba'";<br>
$storage_name = "virtuoso";<br>
$name = "<a href="http://example.org/salesInstancesSmall#" target="_blank">http://example.org/salesInstancesSmall#</a>";<br>
<br>
<br>
# An existing store<br>
$storage=librdf_new_storage($world, $storage_name, $name, $options);<br>
if(!$storage) die("Failed to create new storage\n");<br>
<br>
print "<p>Redland storage created</p>";<br>
<br>
$model=librdf_new_model($world,$storage,'');<br>
print "<p>Redland model created</p>";<br>
<br>
<br>
$query = librdf_new_query($world, 'sparql', null, 'PREFIX<br>
fn:<<a href="http://www.w3.org/2005/xpath-functions#" target="_blank">http://www.w3.org/2005/xpath-functions#</a>> select<br>
distinct(fn:substring-after ( "tatoo", "ta") as ?part) where { ?s ?p<br>
?o}', null);<br>
<br>
print "<p>Querying : </p>";<br>
$results=librdf_model_query_execute($model, $query);<br>
$count=1;<br>
while($results && !librdf_query_results_finished($results)) {<br>
  print "<p> result $count: {";<br>
  for ($i=0; $i < librdf_query_results_get_bindings_count($results); $i++)<br>
  {<br>
    $val=librdf_query_results_get_binding_value($results, $i);<br>
    if ($val){<br>
      $nval=librdf_node_to_string($val);<br>
    }<br>
    else<br>
      $nval='(unbound)';<br>
    print "  ".librdf_query_results_get_binding_name($results, $i)."=".$nval;<br>
  }<br>
  print "}</p>";<br>
  librdf_query_results_next($results);<br>
  $count++;<br>
}<br>
if ($results) print "Returned $count results\n";<br>
print "Done\n";<br>
?><br>
<br>
And this is the output produced by the code above:<br>
<br>
Redland world opened<br>
<br>
Redland storage created<br>
<br>
Redland model created<br>
<br>
Querying :<br>
<br>
result 1: { part="false"^^}<br>
Returned 2 results Done<br>
<br>
If I replace "sparql" with "vsparql" I get the following output:<br>
<br>
<br>
Redland world opened<br>
<br>
Redland storage created<br>
<br>
Redland model created<br>
<br>
Querying :<br>
Done<br>
<br>
Thanks<br>
Lorena<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
<br>
<br>
On Tue, Mar 20, 2012 at 9:56 PM, lorena <<a href="mailto:lorenae@fing.edu.uy">lorenae@fing.edu.uy</a>> wrote:<br>
> As stated here <a href="http://librdf.org/docs/api/redland-storage-module-virtuoso.html" target="_blank">http://librdf.org/docs/api/redland-storage-module-virtuoso.html</a><br>
><br>
> "The Virtuoso Redland RDF Provider is an implementation of the Storage<br>
> API, Model and Query interfaces of the Redland framework for RDF. This<br>
> provider enables the execution of queries via the Redland Rasqal query<br>
> engine or via Virtuoso query engine directly against the Virtuoso<br>
> OpenSource Quad Store."<br>
><br>
> So I just have to figure out how to skip Rasqal and execute the<br>
> queries directly against Virtuoso.<br>
><br>
> Any hints would be appreciated<br>
><br>
> Lorena<br>
><br>
> On Tue, Mar 20, 2012 at 9:40 PM, lorena <<a href="mailto:lorenae@fing.edu.uy">lorenae@fing.edu.uy</a>> wrote:<br>
>> Hi:<br>
>><br>
>> I'm trying to use librdf to execute SPARQL queries over Virtuoso.<br>
>> But, after getting errors trying to use some functions such as<br>
>> fn:substring (having the fn prefix declared inside the query) I've<br>
>> decided to take a look at Virtuoso's log (after enabling Virtuoso log<br>
>> features using trace_on())<br>
>><br>
>> To my surprise, although I successfully retrieve results, some of the<br>
>> queries I perform are not logged at all, and other queries are similar<br>
>> to the ones I intend to pose but are not the same.<br>
>> Moreover, I've tested my queries using Virtuoso Conductor web client<br>
>> and they run as expected.<br>
>><br>
>> So, my questions are the following: is librdf doing some parsing or<br>
>> re-writing on my queries? Is it somehow "loading" the model from<br>
>> Virtuoso and using its own querying capabilities to execute my<br>
>> queries? If so, how can I skip this step in order to force Virtuoso to<br>
>> process the queries?<br>
>><br>
>> thanks in advance<br>
>> Lorena<br>
>><br>
>> --<br>
>> Lorena Etcheverry<br>
><br>
><br>
><br>
> --<br>
> Lorena Etcheverry<br>
<br>
<br>
<br>
</div></div><span class="HOEnZb"><font color="#888888">--<br>
Lorena Etcheverry<br>
</font></span></div><br><br clear="all"><br>-- <br>Lorena Etcheverry<br>