|
|
| |
RDF::Simple::Serialiser(3) |
User Contributed Perl Documentation |
RDF::Simple::Serialiser(3) |
RDF::Simple::Serialiser - convert a list of triples to RDF
A simple RDF serialiser. Accepts an array of triples, returns a serialised RDF
document.
my $ser = RDF::Simple::Serialiser->new(
# OPTIONAL: Supply your own bNode id prefix:
nodeid_prefix => 'a:',
);
# OPTIONAL: Add your namespaces:
$ser->addns(
foaf => 'http://xmlns.com/foaf/0.1/',
);
my $node1 = $ser->genid;
my $node2 = $ser->genid;
my @triples = (
['http://example.com/url#', 'dc:creator', 'zool@example.com'],
['http://example.com/url#', 'foaf:Topic', '_id:1234'],
['_id:1234','http://www.w3.org/2003/01/geo/wgs84_pos#lat','51.334422']
[$node1, 'foaf:name', 'Jo Walsh'],
[$node1, 'foaf:knows', $node2],
[$node2, 'foaf:name', 'Robin Berjon'],
[$node1, 'rdf:type', 'foaf:Person'],
[$node2, 'rdf:type','http://xmlns.com/foaf/0.1/Person']
[$node2, 'foaf:url', \'http://server.com/NOT/an/rdf/uri.html'],
);
my $rdf = $ser->serialise(@triples);
## Round-trip example:
my $parser = RDF::Simple::Parser->new();
my $rdf = LWP::Simple::get('http://www.zooleika.org.uk/foaf.rdf');
my @triples = $parser->parse_rdf($rdf);
my $new_rdf = $serialiser->serialise(@triples);
- new()
- new(nodeid_prefix => 'prefix')
- serialise( @triples )
- Accepts a 'bucket of triples' (an array of array references which are
[subject, predicate, object] statements) and returns a serialised RDF
document.
If 'rdf:type' is not provided for a subject, the generic node
type 'rdf:Description' is used.
- serialize
- A synonym for serialise() for American users.
- addns( qname => 'http://example.com/rdf/vocabulary#', qname2 =>
'http://yetanother.org/vocabulary/' )
- Use this method to add new namespaces to the RDF document. The
RDF::Simple::NS module provides the following vocabularies by default (you
can override them if you wish):
foaf => 'http://xmlns.com/foaf/0.1/',
dc => 'http://purl.org/dc/elements/1.1/',
rdfs => 'http://www.w3.org/2000/01/rdf-schema#',
daml => 'http://www.w3.org/2001/10/daml+oil#',
space => 'http://frot.org/space/0.1/',
geo => 'http://www.w3.org/2003/01/geo/wgs84_pos#',
rdf => 'http://www.w3.org/1999/02/22-rdf-syntax-ns#',
owl => 'http://www.w3.org/2002/07/owl#',
ical => 'http://www.w3.org/2002/12/cal/ical#',
dcterms => 'http://purl.org/dc/terms/',
wiki => 'http://purl.org/rss/1.0/modules/wiki/',
chefmoz => 'http://chefmoz.org/rdf/elements/1.0/',
- genid( )
- generates a random identifier for use as a bNode (anonymous node) nodeID.
if nodeid_prefix is set, the generated id uses the prefix, followed by 8
random numbers.
- render
- Does the heavy lifting of converting the "objects" to a string.
Users of this module should call serialize(); Subclassers of this
module will probably rewrite render().
Please report bugs via the RT web site
<http://rt.cpan.org/Ticket/Create.html?Queue=RDF-Simple>
The original author was British, so this is a Serialiser. For American
programmers, RDF::Simple::Serializer will work as an alias to the module, and
serialize() does the same as serialise().
The distinction between a URI and a literal string in the
"object" (third element) of each triple is made as follows: if the
object is a reference, it is output as a literal; if the object "looks
like" a URI (according to Regexp::Common::URI), it is output as a
URI.
Thanks particularly to Tom Hukins, and also to Paul Mison, for providing
patches.
Originally written by Jo Walsh (formerly <jo@london.pm.org>). Currently
maintained by Martin Thurn <mthurn@cpan.org>.
This module is available under the same terms as perl itself.
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc. |