alcamo / rdf-literal
RDF literals
0.1.5
2026-04-21 16:22 UTC
Requires
- php: 7.3 - 8.0
- alcamo/binary-data: ^0.6
- alcamo/time: ^0.2
- alcamo/uri: ^0.2
- alcamo/xml: ^0.1
Requires (Dev)
- php-ds/php-ds: ^1.3
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: 3.*
README
use alcamo\rdf_literal\LiteralFactory;
include $_composer_autoload_path ?? __DIR__ . '/../vendor/autoload.php';
$factory = new LiteralFactory();
$number = $factory->create(1970);
echo $number . PHP_EOL;
echo $number->getDatatypeUri() . PHP_EOL;
$year = $factory->create(1970, LiteralFactory::XSD_NS . 'gYear');
echo $year . PHP_EOL;
echo $year->getDatatypeUri() . PHP_EOL;
echo "Literals are "
. ($year->equals($number) ? '' : 'not')
. ' equal' . PHP_EOL;
This example is contained in this package as a file in the bin
directory. It will output
1970
http://www.w3.org/2001/XMLSchema#integer
1970
http://www.w3.org/2001/XMLSchema#gYear
Literals are not equal
Overview
The classes that implement LiteralInterface represent the concept of
RDF Literals, i.e. data elements that have a datataype and may have a
language tag.
Among others, this allows to:
- Create values of various types from strings, governed by an XSD datatype URI.
- Add a __toString() function to values which are not stringable.
- Add a custom __toString() function which differs from the default representation of a value.
- Distinguish values that may be represented the same way in PHP but have different meanings.
See the doxygen documentation for details.