GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
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.
2020-03-06 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.