Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Easyrdf Laravel Package

sweetrdf/easyrdf

View on GitHub
Deep Wiki
Context7

EasyRdf (Fork)

[!NOTE] This is a fork of the Original Easyrdf library written by Nicholas Humfrey. I maintain it in my spare time to keep it alive and usable on the latest PHP versions. Code is more or less maintained but not developed any further. If you wanna participate, feel free to open a pull request!

About 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("https://www.aelius.com/njh/foaf.rdf");
$foaf->load();
$me = $foaf->primaryTopic();
echo "My name is: ".$me->get('foaf:name')."\n";

Requirements

  • PHP 8.0 or higher
  • PHP Extensions: dom, mbstring, pcre, xmlreader
  • PHP Libs: libxml

Features

  • No required external dependencies upon other libraries (PEAR, etc...)
  • Library runs in Linux and Windows environments
  • 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 Laminas\Http\Client
  • Type mapper - resources of type foaf:Person can be mapped into PHP object of class Foaf_Person
  • Support for visualisation of graphs using GraphViz
  • Comes with a number of examples

Documentation

EasyRdf documentation is scarce at the moment, but here is what we have already. Additions/changes are welcome.

Documentation

List of Examples

Contributing

Contributions are welcome! Please read CONTRIBUTING.md for further information.

For further information about extending / hack EasyRdf please read DEVELOPER.md.

Further mainainers are possible, please send an email to @k00ni.

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/

Why this fork? (written in late 2020)

EasyRdf was in maintenance mode since 2017 (link) and not actively maintained since. There were 6+ pull requests pending at that time with fixes and new features. Its sad to see another RDF PHP project die slowly, so I decided to clean house and give the code a new home (further info). A few months in late 2020 EasyRdf was actively improved (me being a co-maintainer for a while), but that stopped and decay began again. It was a frustating time, lets leave it at that.

In the end I decided to abandon my old fork and start fresh with latest EasyRdf improvements in this repository.

What can you expect as a user?

This fork (v1.*) aims to be a drop-in replacement for the easyrdf/easyrdf package, which means, you can use it without changing your code. But you should still read the notes of the latest release, to make sure nothing unexpected happens after an update.

What can you expect as an EasyRdf developer?

This repository is set up in a way to lower the maintenance overhead in comparison to the original version. Test related tools were partly replaced with more lightweight solutions. Furthermore this repository is held by an organization instead of a user, which allows more flexible maintenance.

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.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
mehedimi/laravel-amp-mail
happones/laravel-vue-i18n-generator
jwerd/inertia-table
siberfx/flysystem-wasabi
hollyit/token-replace
ippanelcom/laravel-sdk
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel