RDF::Core::Model - RDF model


  my $storage = new RDF::Core::Storage::Memory;
  my $model = new RDF::Core::Model (Storage => $storage);
  my $subject = new RDF::Core::Resource('');
  my $predicate = $subject->new('');
  my $object = new RDF::Core::Literal('Jim Brown');
  my $statement = new RDF::Core::Statement($subject, $predicate, $object);


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


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


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


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


Ginger Alliance,


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