php-task-runner / sparql-robo-tasks
Provides SPARQL commands for Robo
Installs: 19 716
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Type:robo-tasks
Requires
- php: ~7.1
- consolidation/robo: ^1 || ^2
Requires (Dev)
- easyrdf/easyrdf: dev-master
- phpunit/phpunit: ~7 || ~8 || ~9
- slevomat/coding-standard: ~6
- squizlabs/php_codesniffer: ~3
This package is auto-updated.
Last update: 2024-12-09 11:17:23 UTC
README
This repository provides SPARQL tasks for Robo.
Install note
Until easyrdf/easyrdf
package will get stable 1.0.0 release, the root Composer
file will have to explicitly require easyrdf/easyrdf
. See this issue for
details: easyrdf/easyrdf#320. After EasyRDF will be
stabilised, the library will be moved back to require
section.
Tasks
Query
$query1 = 'SELECT ?s ?p ?o WHERE { ?s ?p ?o } LIMIT 100'; $query2 = '...'; $result = $this->taskSparqlQuery() ->setEndpointUrl('http://example.com/sparql') ->addQuery($query1) ->addQuery($query2) ->run(); // Result of $query1. $res1 = $result->getData()['result'][$query1]; // Result of $query2. $res2 = $result->getData()['result'][$query2];
Import triples from strings
$triples1 = <<<TRIPLES <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:si="https://www.w3schools.com/rdf/"> <rdf:Description rdf:about="https://www.w3schools.com"> <si:title>W3Schools</si:title> <si:author>Jan Egil Refsnes</si:author> </rdf:Description> </rdf:RDF> TRIPLES; $triples2 = <<<TRIPLES <?xml version="1.0"?> <RDF> <Description about="https://www.w3schools.com/rdf"> <author>Jan Egil Refsnes</author> <homepage>https://www.w3schools.com</homepage> </Description> </RDF> TRIPLES; $this->taskSparqlImportFromString() ->setEndpointUrl('http://example.com/sparql-graph-crud') ->addTriples('http://example.com/graph1', $triples1) ->addTriples('http://example.com/graph2', $triples2) ->run();
Import triples from files
$this->taskSparqlImportFromFile() ->setEndpointUrl('http://example.com/sparql-graph-crud') ->addTriples('http://example.com/graph1', '/path/to/file.rdf') ->addTriples('http://example.com/graph2', '/other/path/to/file2.rdf') ->run();