NAME
RDFStore::Model - An implementation of the Model RDF API
SYNOPSIS
use RDFStore::Model;
use RDFStore::FindIndex;
use RDFStore::NodeFactory;
use Data::MagicTie;
my $factory= new RDFStore::NodeFactory();
my $statement = $factory->createStatement(
$factory->createResource('http://perl.org'),
$factory->createResource('http://iscool.org/schema/1.0/','label'),
$factory->createLiteral('Cool Web site')
);
my $statement1 = $factory->createStatement(
$factory->createResource("http://www.altavista.com"),
$factory->createResource("http://pen.jrc.it/schema/1.0/','author'),
$factory->createLiteral("Who? :-)")
);
my $statement2 = $factory->createStatement(
$factory->createUniqueResource(),
$factory->createUniqueResource(),
$factory->createLiteral("")
);
my $model = new RDFStore::Model( Name => 'store', Split => 20 );
$model->add($statement);
$model->add($statement1);
$model->add($statement2);
my $model1 = $model->duplicate();
print $model1->getDigest->equals( $model1->getDigest );
print $model1->getDigest->hashCode;
my $found = $model->find($statement2->subject,undef,undef);
#get Statements
foreach ( $found->elements ) {
print $_->getLabel(),"\n";
};
#get RDFNodes
foreach ( keys %{$found->elements}) {
print $found->elements->{$_}->getLabel(),"\n";
};
DESCRIPTION
An RDFStore::Stanford::Model implementation using Data::MagicTie tied arrays and hashes to store triplets. The actual store could be tied either to an in-memory, a local or remote database - see Data::MagicTie(3).
This modules implements a storage and iterator by leveraging on perltie(3) and the Data::MagicTie(3) interface.
CONSTRUCTORS
The following methods construct/tie RDFStore::Model storages and objects:
- $model = new RDFStore::Model( %whateveryoulikeit );
-
Create an new RDFStore::Model object and tie up a serie of Data::MagicTie hash databases to read/write/query RDFStore::RDFNode. The %whateveryoulikeit hash contains a set of configuration options about how and where store actual data. Most of the options correspond to the Data::MagicTie ones - see Data::MagicTie(3) Possible additional options are the following:
- Name
-
This is a label used to identify a Persistent storage by name. It might correspond to a physical file system directory containing the indexes DBs. By default if no Name option is given the storage is assumed to be in-memory (e.g. RDFStore::Storage::find method return result sets as in-memory models by default unless specified differently). For local persistent storages a directory named liek this option is created in the current working directory with mode 0666)
- Sync
-
Sync the RDFStore::Model with the underling Data::MagciTie GDS after each add() or remove().
- Resources, Index1, Index2 and Index3
-
These parameters point to the Data::MagicTie options of the underlying database.
SEE ALSO
Data::MagicTie(3) Digest(3) RDFStore::Stanford::Digest::Digestable(3) RDFStore::Stanford::Digest(3) RDFStore::RDFNode RDFStore::Resource RDFStore::FindIndex(3)
AUTHOR
Alberto Reggiori <areggiori@webweaving.org>
2 POD Errors
The following errors were encountered while parsing the POD:
- Around line 697:
'=item' outside of any '=over'
- Around line 716:
You forgot a '=back' before '=head1'
You forgot a '=back' before '=head1'