NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #3208 most downloaded on Packagist
A common RDF interface for PHP RDF libraries.
Last release 27 days ago
10 Sep 2026
Release timing varies
gaps range from 1 weeks to 1.4 years
Rarely documented
notes for 1 of 28 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
36 releases · first in 2021
One column per quarter.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
rdfInterface\DatasetCompareInterface , rdfInterface\DatasetMapReduceInterface and rdfInterface\DatasetQuadPartsInterface merged into rdfInterface\Data
rdfInterface\DatasetCompareInterface, rdfInterface\DatasetMapReduceInterface and rdfInterface\DatasetQuadPartsInterface merged into rdfInterface\DatasetInterface.rdfInterface\DatasetInterface
copyExcept($filter) does not accept null as the $filter. If you want to copy all quads, use the copy() method.delete($filter) does not accept null as the $filter. If you want an empty dataset, just create a new one.offsetExists($offset), offsetGet($offset), offsetSet($offset, $value) and offsetUnset($offset) method now must throw a newly introduced rdfInterface\MultipleQuadsMatchedException if the offset matches multiple quads.rdfInterface\DatasetNodeInterface interface added for a node-oriented RDF graph operations.rdfInterface\DatasetInterface, just methods are (generally) applied only to quads with a subject matching a given rdfInterface\TermInterface term.rdfInterface\TermIteratorInterface extended
contains(rdfInterface\TermCompareInterface $term): bool method added allowing to perform in_array-like check.getValues(): array<string> method added.intersect($terms): rdfInterface\TermIteratorInterface method added.skip($terms): rdfInterface\TermIteratorInterface method added.rdfInterface\DatasetNode
factory() added as a replacement for the rdfInterface\DatasetNode::__construct(). This follows the convention not to enforce constructor signatures.rdfHelpers\DatasetGettersTrait class of the sweetrdf/rdf-helpers package):
getSubject(), getPredicate(), getObject(), getGraph() returning an rdfInterface\TermInterface | nullgetSubjectValue(), getPredicateValue(), getObjectValue(), getGraphValue() returning mixed | nullrdfInterface\QuadNoSubjectInterface added for convenient adding quads to the rdfInterface\DatasetNode.rdfInterface\DataFactory
quadNoSubject($predicate, $object, $graph): rdfInterface\QuadNoSubjectInterface method added.rdfInterface\MultipleQuadsMatchedException exception added to make it possible to easily distinguish between standard PHP array access errors (the \UnexpectedValueException when an offset does not exist) and rdfInterface-specific "multiple quads matched" error.rdfInterface\QuadInterface::getValue() must throw the \BadMethodCall exception.rdfInterface\BlankNodeInterface, rdfInterface\NamedNodeInterface, rdfInterface\LiteralInterface and rdfInterface\QuadInterface constructor definition dropped. These constructors are anyway not meant to be called directly as terms should be instantiated trough the rdfInterface\DataFactoryInterface class so it makes no sense to enforce their signatures.rdfInterface\DatasetNode:
__construct() method dropped. This follows the convention not to enforce constructor signatures. A static factory() method signature is defined instead.add() accepts QuadInterface|\Traversable<rdfInterface\QuadInterface>|array<rdfInterface\QuadInterface> (instead of rdfInterface\QuadInterface|rdfInterface\QuadIteratorInterface|rdfInterface\QuadIteratorAggregateInterface).forEach($filter) accepts null as a $filter.rdfInterface\SerializerInterface
serialize() and serializeStream() accept \Traversable<QuadInterface>|array<QuadInterface> (instead of rdfInterface\QuadIteratorInterface|rdfInterface\QuadIteratorAggregateInterface).rdfInterface\TermInterface now extends rdfInterface\TermCompareInterface instead of defining equals() and __toString() methods explicitly.rdfInterface\TermCompareInterface, rdfInterface\QuadCompareInterface and rdfInterface\DatasetInterface extend Stringable instead of declaring __toString() explicitly.rdfInterface\QuadCompareInterface methods: getSubject(), getPredicate(), getObject() and getGraph() return type is rdfInterface\TermCompareInterface | null (instead of rdfInterface\TermInterface | rdfInterface\TermCompareInterface | null).DatasetNodeInterface: few typos fixed
DatasetNodeInterface: few typos fixed
add description of the __toString() behavior
SerializerInterface::serialize() and serializeStream() accept any ite…
SerializerInterface::serialize() and serializeStream() accept any ite…
DatasetInterface: get*Value() return mixed as TermInterface::getValue…
DatasetInterface: get*Value() return mixed as TermInterface::getValue…
TermIteratorInterface: missing "use" statement added
TermIteratorInterface: missing "use" statement added
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →