RDF::Core::Model - RDF model

- NAME
- SYNOPSIS
- DESCRIPTION

- Interface

- LICENSE
- AUTHOR
- SEE ALSO

# NAME

RDF::Core::Model - RDF model

# SYNOPSIS

      my $storage = new RDF::Core::Storage::Memory;
      my $model = new RDF::Core::Model (Storage => $storage);
      my $subject = new RDF::Core::Resource('http://www.gingerall.cz/employees/Jim');
      my $predicate = $subject->new('http://www.gingerall.cz/rdfns#name');
      my $object = new RDF::Core::Literal('Jim Brown');
      my $statement = new RDF::Core::Statement($subject, $predicate, $object);

      $model->addStmt($statement);

      print "Model contains ".$model->countStmts."statement(s).\n"

# DESCRIPTION

Model provides interface to store RDF statements, ask about them and retrieve them back.

## Interface

- `new(%options)`
$options is a hash reference, available options are

- Storage
a reference to a RDF::Core::Storage implementation

- getOptions
- `setOptions(\%options)`
- `addStmt($statement)`
Add RDF::Core::Statement instance to Model, unless it already exists there.

- `removeStmt($statement)`
Remove statement from Model, if it's there.

- `existsStmt($subject,$predicate,$object)`
Check if statement exists, that matches given mask. Parameters can be undefined, every value matches undefined parameter.

- `countStmts($subject,$predicate,$object)`
Count matching statements.

- `getStmts($subject,$predicate,$object)`
Retrieve matching statements. Returns RDF::Core::Enumerator object.

- getObjects($subject, $predicate)
Return a reference to an array keeping all objects, that are values of specified $predicate for given $subject.

- `getContainerObjects($container)`
Return a reference to an array keeping all objects, that are members of the $container. Objects are sorted.

# LICENSE

This package is subject to the MPL (or the GPL alternatively).

# AUTHOR

Ginger Alliance, rdf@gingerall.cz

# SEE ALSO

RDF::Core::Statement, RDF::Core::Storage, RDF::Core::Serializer, RDF::Core::Parser, RDF::Core::Enumerator