RDF::Trine - An RDF Framework for Perl
This document describes RDF::Trine version 1.019
use RDF::Trine;
my $store = RDF::Trine::Store::Memory->new();
my $model = RDF::Trine::Model->new($store);
# parse some web data into the model, and print the count of resulting RDF statements
RDF::Trine::Parser->parse_url_into_model( 'http://kasei.us/about/foaf.xrdf', $model );
print $model->size . " RDF statements parsed\n";
# Create a namespace object for the foaf vocabulary
my $foaf = RDF::Trine::Namespace->new( 'http://xmlns.com/foaf/0.1/' );
# Create a node object for the FOAF name property
my $pred = $foaf->name;
# alternatively:
# my $pred = RDF::Trine::Node::Resource->new('http://xmlns.com/foaf/0.1/name');
# Create an iterator for all the statements in the model with foaf:name as the predicate
my $iter = $model->get_statements(undef, $pred, undef);
# Now print the results
print "Names of things:\n";
while (my $st = $iter->next) {
my $s = $st->subject;
my $name = $st->object;
# $s and $name have string overloading, so will print correctly
print "The name of $s is $name\n";
}
RDF::Trine provides an Resource Descriptive Framework (RDF) with an emphasis on
extensibility, API stability, and the presence of a test suite. The package
consists of several components:
- RDF::Trine::Model - RDF model providing access to a triple store. This
module would typically be used to access an existing store by a developer
looking to "Just get stuff done."
- RDF::Trine::Parser - RDF parsers for various serialization formats
including RDF/XML, Turtle, RDFa, and RDF/JSON.
- RDF::Trine::Store::Memory - An in-memory, non-persistant triple store.
Typically used for temporary data.
- RDF::Trine::Store::DBI - A triple store for MySQL, PostgreSQL, and SQLite,
based on the relational schema used by Redland. Typically used to for
large, persistent data.
- RDF::Trine::Iterator - Iterator classes for variable bindings and RDF
statements, used by RDF::Trine::Store, RDF::Trine::Model, and
RDF::Query.
- RDF::Trine::Namespace - A convenience class for easily constructing
RDF::Trine::Node::Resource objects from URI namespaces.
- "iri ( $iri )"
- Returns a RDF::Trine::Node::Resource object with the given IRI value.
- "blank ( $id )"
- Returns a RDF::Trine::Node::Blank object with the given identifier.
- "literal ( $value, $lang, $dt )"
- Returns a RDF::Trine::Node::Literal object with the given value and
optional language/datatype.
- "variable ( $name )"
- Returns a RDF::Trine::Node::Variable object with the given variable
name.
- "statement ( @nodes )"
- Returns a RDF::Trine::Statement object with the supplied node
objects.
- "store ( $config )"
- Returns a RDF::Trine::Store object based on the supplied configuration
string.
- "default_useragent ( [ $ua ] )"
- Returns the LWP::UserAgent object used by default for any operation
requiring network requests. Ordinarily, the calling code will obtain the
default user agent, and clone it before further configuring it for a
specific request, thus leaving the default object untouched.
If $ua is passed as an argument, sets
the global default user agent to this object.
Please report any bugs or feature requests to through the GitHub web interface
at <https://github.com/kasei/perlrdf/issues>.
<http://www.perlrdf.org/>
Gregory Todd Williams
"<gwilliams@cpan.org>"
Copyright (c) 2006-2012 Gregory Todd Williams. This program is free software;
you can redistribute it and/or modify it under the same terms as Perl itself.