EasyRdf
EasyRdf is a PHP library designed to make it easy to consume and produce RDF. It was designed for use in mixed teams of experienced and inexperienced RDF developers. It is written in Object Oriented PHP and has been tested extensively using PHPUnit.
After parsing EasyRdf builds up a graph of PHP objects that can then be walked around to get the data to be placed on the page. Dump methods are available to inspect what data is available during development.
Data is typically loaded into an EasyRdf\Graph
object from source RDF documents, loaded from the web via HTTP. The EasyRdf\GraphStore
class simplifies loading and saving data to a SPARQL 1.1 Graph Store.
SPARQL queries can be made over HTTP to a Triplestore using the EasyRdf\Sparql\Client
class. SELECT
and ASK
queries will return an EasyRdf\Sparql\Result
object and CONSTRUCT
and DESCRIBE
queries will return an EasyRdf\Graph
object.
Example
$foaf = new \EasyRdf\Graph("http://njh.me/foaf.rdf");
$foaf->load();
$me = $foaf->primaryTopic();
echo "My name is: ".$me->get('foaf:name')."\n";
Downloads
The latest stable version of EasyRdf can be downloaded from the EasyRdf website.
Links
Requirements
- PHP 7.1 or higher
Features
- API documentation written in
phpdoc
- Extensive unit tests written using
phpunit
- Built-in parsers and serialisers: RDF/JSON, N-Triples, RDF/XML, Turtle
- Optional parsing support for: ARC2, rapper
- Optional support for
Zend\Http\Client
- No required external dependencies upon other libraries (PEAR, Zend, etc...)
- Complies with Zend Framework coding style.
- Type mapper - resources of type
foaf:Person
can be mapped into PHP object of classFoaf_Person
- Support for visualisation of graphs using GraphViz
- Comes with a number of examples
List of Examples
basic.php
- Basic "Hello World" type examplebasic_sparql.php
- Example of making a SPARQLSELECT
queryconverter.php
- Convert RDF from one format to anotherdump.php
- Display the contents of a graphfoafinfo.php
- Display the basic information in a FOAF documentfoafmaker.php
- Construct a FOAF document with a choice of serialisationsgraph_direct.php
- Example of usingEasyRdf\Graph
directly withoutEasyRdf\Resource
graphstore.php
- Store and retrieve data from a SPARQL 1.1 Graph Storegraphviz.php
- GraphViz rendering examplehtml_tag_helpers.php
- Rails Style html tag helpers to make the EasyRdf examples simplerhttpget.php
- No RDF, just testEasyRdf\Http\Client
open_graph_protocol.php
- Extract Open Graph Protocol metadata from a webpageserialise.php
- Basic serialisation examplesparql_queryform.php
- Form to submit SPARQL queries and display the resultuk_postcode.php
- Example of resolving UK postcodes using uk-postcodes.comwikidata_villages.php
- Fetch and information about villages in Fife from Wikidatazend_framework.php
- Example of usingZend\Http\Client
with EasyRdf
Contributing
We welcome any contributions. For further information please read CONTRIBUTING.md.
For further information about extending / hack EasyRdf please read DEVELOPER.md.
Running Examples
The easiest way of trying out some of the examples is to use the PHP command to run a local web server on your computer.
php -S localhost:8080 -t examples
Then open the following URL in your browser: http://localhost:8080/
Licensing
The EasyRdf library and tests are licensed under the BSD-3-Clause license. The examples are in the public domain, for more information see UNLICENSE.