---
name: "RDF::Trine"
section: "3pm"
platform: "linux"
package: "librdf-trine-perl"
version: "1.019-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/RDF::Trine"
---

# RDF::Trine(3pm)

An RDF Framework for Perl

## NAME

RDF::Trine - An RDF Framework for Perl

## VERSION

This document describes RDF::Trine version 1.019

## SYNOPSIS

```
  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";
  }
```

## DESCRIPTION

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.

## FUNCTIONS

- "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.

## BUGS

Please report any bugs or feature requests to through the GitHub web interface at \<https://github.com/kasei/perlrdf/issues\>.

## SEE ALSO

\<http://www.perlrdf.org/\>

## AUTHOR

Gregory Todd Williams  `"<gwilliams@cpan.org>"`

## COPYRIGHT

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.
