tdt / streamingrdfmapper
A streaming mapper. Takes a chunk of data and a mapping file, returns RDF triples.
Requires
- easyrdf/easyrdf: *
- guzzle/guzzle: ~3.7
- semsol/arc2: >=2.2.3
This package is auto-updated.
Last update: 2024-10-29 04:03:55 UTC
README
This library maps PHP arrays towards RDF using different mapping languages:
Vertere
The Vertere mapping language was the start of this repository. The code was reused from mmmmmrob.
You can find more documentation about Vertere in the VERTERE.md file. It is at this moment the only supported language.
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
You can find more documentation about Vertere in the RML.md file.
Usage
Installation
This repository is PSR-0 compliant and can be installed using composer:
composer install tdt/streamingrdfmapper
Not familiar with composer? Read about it here
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:
$mapper->setBaseUri("http://data.iRail.be/");
- The EasyRDF library