/** * Load statements from a URI using a {@link LibRDF_Parser}. * * @param LibRDF_Parser $parser The parser with which to parse the URI's contents * @param string $uri The URI with the contents to load * @param string $base_uri The base URI to use for relative URIs if different from $uri * @return void * @throws LibRDF_Error If unable to parse the URI contents * @access public */ public function loadStatementsFromURI(LibRDF_Parser $parser, $uri, $base_uri = NULL) { if ($uri instanceof LibRDF_URINode) { $uri = new LibRDF_URI(substr($uri, 1, -1)); } else { $uri = new LibRDF_URI($uri); } if ($base_uri) { $base_uri = new LibRDF_URI($base_uri); } $ret = librdf_parser_parse_into_model($parser->getParser(), $uri->getURI(), $base_uri ? $base_uri->getURI() : $base_uri, $this->model); if ($ret) { throw new LibRDF_Error("Unable to parse URI into model"); } }
foreach ($dlls as $dll) { if (file_exists($dll)) { dl($dll); } } $world = librdf_php_get_world(); print "Redland world opened\n"; $storage = librdf_new_storage($world, 'hashes', 'dummy', "new=yes,hash-type='memory'"); print "Redland storage created\n"; $model = librdf_new_model($world, $storage, ''); print "Redland model created\n"; $parser = librdf_new_parser($world, 'rdfxml', 'application/rdf+xml', null); print "Redland parser created\n"; $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)';
function append_file($content_type, $file, $base = null) { $p = librdf_new_parser($this->_world, $content_type, null, null); $file_uri = librdf_new_uri($this->_world, $file); $base_uri = librdf_new_uri($this->_world, is_null($base) ? $this->_base : $base); $r = librdf_parser_parse_into_model($p, $file_uri, $base_uri, $this->_model); librdf_free_parser($p); librdf_free_uri($base_uri); librdf_free_uri($file_uri); return $r == 0; }