$uri = librdf_new_uri($world, 'file:../data/dc.rdf'); print "Parsing...\n"; librdf_parser_parse_into_model($parser, $uri, $uri, $model); print "Done...\n"; librdf_free_uri($uri); librdf_free_parser($parser); $query = librdf_new_query($world, 'sparql', null, "PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?a ?c ?d WHERE { ?a dc:title ?c . OPTIONAL { ?a dc:related ?d } }", null); print "Querying for dc:titles:\n"; $results = librdf_model_query_execute($model, $query); $count = 1; while ($results && !librdf_query_results_finished($results)) { print "result {$count}: {\n"; for ($i = 0; $i < librdf_query_results_get_bindings_count($results); $i++) { $val = librdf_query_results_get_binding_value($results, $i); if ($val) { $nval = librdf_node_to_string($val); } else { $nval = '(unbound)'; } print " " . librdf_query_results_get_binding_name($results, $i) . "=" . $nval . "\n"; } print "}\n"; librdf_query_results_next($results); $count++; } if ($results) { print "Returned {$count} results\n"; } $results = null; print "\nExecuting query again\n"; $results = librdf_model_query_execute($model, $query);
/** * Return a string representation of the node. * * @return string A string representation of the node * @access public */ public function __toString() { $rs = librdf_node_to_string($this->node); if ("1.0.11" > librdf_version_string_get()) { if (librdf_node_is_resource($this->node)) { $rs = '<' . substr($rs, 1, -1) . '>'; } elseif (librdf_node_is_literal($this->node)) { $rs = '"' . $rs . '"'; } elseif (librdf_node_is_blank($this->node)) { $rs = '_:' . substr($rs, 1, -1); } } return $rs; }