NAME

RDF::Redland::Model - Redland RDF Model Class

SYNOPSIS

use RDF::Redland;
my $storage=new RDF::Redland::Storage("hashes", "test", "new='yes',hash-type='memory'");
my $model=new RDF::Redland::Model($storage, "");
...

my(@sources)=$model->targets($predicate_node, $object_node);

...

DESCRIPTION

Manipulate the RDF model.

CONSTRUCTORS

new STORAGE OPTIONS_STRING
new_with_options STORAGE OPTIONS_HASH

Create a new RDF::Redland::Model object using RDF::Redland::Storage object STORAGE with a options. The options can be given either as a string in the first form as OPTIONS_STRING. The options take the form key1='value1',key2='value2'. The quotes are required. In the second case OPTIONS_HASH is a reference to a Perl hash of options.

new_from_model MODEL

Create a new model from an existing RDF::Redland::Model MODEL (copy constructor).

METHODS

size

Return the size of the model (number of statements).

sync

Synchronise the model to the underlying storage.

add SUBJECT PREDICATE OBJECT

Add a new statement to the model with SUBJECT, PREDICATE and OBJECT. These can be RDF::Redland::Node, RDF::Redland::URI or perl URI objects.

add_typed_literal_statement SUBJECT PREDICATE STRING [XML_LANGUAGE [DATATYPE]]

Add a new statement to the model containing a typed literal string object STRING with (optional) XML language (xml:lang attribute) XML_LANGUAGE and (optional) datatype URI DATATYPE. XML_LANGUAGE or DATATYPE can either or both be set to undef.

add_statement STATEMENT [CONTEXT] | NODE NODE NODE [CONTEXT]

Add RDF::Redland::Statement STATEMENT or the statement formed by NODE NODE NODE to the model. If the optional CONTEXT is given, associate it with that context. Any of NODE or CONTEXT can be a RDF::Redland::Node, RDF::Redland::URI or perl URI object.

add_statements STREAM [CONTEXT]

Add the statements from the RDF::Redland::Stream STREAM to the model. If the optional CONTEXT is given, associate it with that context. CONTEXT can be a RDF::Redland::Node, RDF::Redland::URI or perl URI object.

remove_statement STATEMENT [CONTEXT] | NODE NODE NODE [CONTEXT]

Remove RDF::Redland::Statement STATEMENT or the statement formed by NODE NODE NODE from the model. If the optional CONTEXT is given, remove only the statement stored with that context. Any of NODE or CONTEXT can be a RDF::Redland::Node, RDF::Redland::URI or perl URI object.

remove_context_statements CONTEXT

Remove all RDF::Redland::Statement STATEMENTs from the model with the given CONTEXT context. CONTEXT can be a RDF::Redland::Node, RDF::Redland::URI or perl URI object.

contains_statement STATEMENT

Return non 0 if the model contains RDF::Redland::Statement STATEMENT.

as_stream [CONTEXT]

Return a new RDF::Redland::Stream object seralising the entire model, or just those statements with CONTEXT, as RDF::Redland::Statement objects. If given, CONTEXT can be a RDF::Redland::Node, RDF::Redland::URI or perl URI object.

find_statements STATEMENT [CONTEXT]

Find all matching statements in the model matching partial RDF::Redland::Statement STATEMENT (any of the subject, predicate, object RDF::Redland::Node can be undef). If CONTEXT is given, finds statements only in that context.

In an array context, returns an array of the matching RDF::Redland::Statement objects. In a scalar context, returns the RDF::Redland::Stream object representing the results.

sources ARC TARGET

Get all source RDF::Redland::Node objects for a given arc ARC, target TARGET> RDF::Redland::Node objects as a list of RDF::Redland::Node objects.

arcs SOURCE TARGET

Get all arc RDF::Redland::Node objects for a given source SOURCE, target TARGET RDF::Redland::Node objects as a list of RDF::Redland::Node objects.

targets SOURCE ARC

Get all target RDF::Redland::Node objects for a given source SOURCE, arc ARC RDF::Redland::Node objects as a list of RDF::Redland::Node objects.

sources_iterator ARC TARGET

Get all source RDF::Redland::Node objects for a given arc ARC, target TARGET RDF::Redland::Node objects as an RDF::Redland::Iterator or undef on failure.

arcs_iterator SOURCE TARGET

Get all arc RDF::Redland::Node objects for a given source SOURCE, target TARGET RDF::Redland::Node objects as an RDF::Redland::Iterator or undef on failure.

targets_iterator SOURCE ARC

Get all target RDF::Redland::Node objects for a given source SOURCE, arc ARC RDF::Redland::Node objects as an RDF::Redland::Iterator or undef on failure.

source ARC TARGET

Get one source RDF::Redland::Node object that matches a given arc ARC, target TARGET RDF::Redland::Node objects or undef if there is no match.

arc SOURCE TARGET

Get one arc RDF::Redland::Node object that matches a given source SOURCE, target TARGET RDF::Redland::Node objects or undef if there is no match.

target SOURCE ARC

Get one target RDF::Redland::Node object that matches a given source SOURCE, arc ARC RDF::Redland::Node objects or undef if there is no match.

contexts

Get all context RDF::Redland::Node objects in the model

feature URI [VALUE]

Get/set a model feature. The feature is named via RDF::Redland::URI URI and the value is a RDF::Redland::Node. If VALUE is given, the feature is set to that value, otherwise the current value is returned.

query_execute QUERY

Execute the QUERY RDF::Redland::Query against the model returning a result set RDF::Redland::QueryResults or undef on failure.

load URI [SYNTAX-NAME [ MIME-TYPE [SYNTAX-URI [HANDLER ]]]

Load content from URI into the model, guessing the parser.

to_string [BASE-URI [SYNTAX-NAME [ MIME-TYPE [SYNTAX-URI]]]

Serialize the model to a syntax. If no serializer name is given, the default serializer RDF/XML is used.

OLDER METHODS

serialise
serialize

Return a new RDF::Redland::Stream object seralising the model as RDF::Redland::Statement objects. Replaced by as_stream to reduce confusion with the RDF::Redland::Serializer class.

SEE ALSO

RDF::Redland::Storage, RDF::Redland::Node and RDF::Redland::Statement

AUTHOR

Dave Beckett - http://purl.org/net/dajobe/