Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
RDFStore::Model(3)    User Contributed Perl Documentation   RDFStore::Model(3)

NAME
       RDFStore::Model - An implementation of the Model	RDF API	using tied
       hashes and implementing free-text search	on literals

SYNOPSIS
	       use RDFStore::NodeFactory;
	       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("")
				       );

	       use RDFStore::Model;
	       my $model = new RDFStore::Model(	Name =>	'store', FreeText => 1 );

	       $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);
	       my $found1 = $model->find(undef,undef,undef,undef,'Cool'); #free-text search on literals	:)

	       #get Statements
	       foreach ( @{$found->elements} ) {
		       print $_->getLabel(),"\n";
	       };

	       #or faster
	       my $fetch;
	       foreach ( @{$found->elements} ) {
		       my $fetch=$_;  #avoid too many fetches from RDFStore::Model::Statements
		       print $fetch->getLabel(),"\n";
	       };

	       #or
	       my($statements)=$found1->elements;
	       for ( 0..$#{$statements}	) {
		       print $statements->[$_]->getLabel(),"\n";
	       };

	       #get RDFNodes
	       foreach ( keys %{$found->elements}) {
		       print $found->elements->{$_}->getLabel(),"\n";
	       };

	       # set operations
	       my $set = new RDFStore::Model( Name => 'setmodel' );

	       $set=$set->interset($other_model);
	       $set=$set->unite($other_model);
	       $set=$set->subtract($other_model);

DESCRIPTION
       An RDFStore::Model implementation using RDFStore(3) to store triplets.

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 the RDFStore(3).
	   The %whateveryoulikeit hash contains	a set of configuration options
	   about how and where store actual data.

	   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().

	   FreeText
	       Enable free text	searching on literals over a model (see	find)

SEE ALSO
       Digest(3) RDFStore(3) RDFStore::Digest::Digestable(3)
       RDFStore::Digest(3) RDFStore::RDFNode(3)	RDFStore::Resource(3)

AUTHOR
	       Alberto Reggiori	<areggiori@webweaving.org>

POD ERRORS
       Hey! The	above document had some	coding errors, which are explained
       below:

       Around line 1468:
	   '=item' outside of any '=over'

       Around line 1488:
	   You forgot a	'=back'	before '=head1'

	   You forgot a	'=back'	before '=head1'

perl v5.32.1			  2006-06-19		    RDFStore::Model(3)

NAME | SYNOPSIS | DESCRIPTION | CONSTRUCTORS | SEE ALSO | AUTHOR | POD ERRORS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=RDFStore::Model&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help