Streaming RDF Mapper
This library maps PHP arrays towards RDF using different mapping languages:, (*1)
Vertere
The Vertere mapping language was the start of this repository. The code was reused from mmmmmrob., (*2)
You can find more documentation about Vertere in the VERTERE.md file. It is at this moment the only supported language., (*3)
RML
Will be the future language of this repository. See the publication of Anastasia Dimou, Miel Vander Sande, Pieter Colpaert on RML at ISWC 2013, (*4)
You can find more documentation about Vertere in the RML.md file., (*5)
Usage
Installation
This repository is PSR-0 compliant and can be installed using composer:, (*6)
composer install tdt/streamingrdfmapper
Not familiar with composer? Read about it here, (*7)
In code
$mapping = file_get_contents("http://foo.bar/mapping/file.ttl");
$typeofmapping = "Vertere";
$mapper = new StreamingRDFMapper($mapping, $typeofmapping);
$data = foo\bar\getNextDataChunk(); //get data from somewhere: can be a csv file you've extracted, some data you've scraped or XML or JSON file you've flattened and put into an array
$getEasyRDFGraph = true;
$triplesEasyRDFGraph = $mapper->map($data, $getEasyRDFGraph);
$triplesArray = $mapper->map($data, !$getEasyRDFGraph);
//print ntriples through easy graph (some overhead, but really good library*)
print $triplesEasyRDFGraph->serialize("ntriples");
//print ntriples through array (faster)
foreach($triplesArray as $triple){
print implode(" ", $triple);
print " . \n";
}
You can also set a standard base uri for the mapper by after creating an instance doing this:, (*8)
$mapper->setBaseUri("http://data.iRail.be/");