++ed by:

6 PAUSE users
1 non-PAUSE user.

Gregory Todd Williams

# NAME

RDF::Trine::Graph - Materialized RDF Graphs for testing isomorphism

# VERSION

This document describes RDF::Trine::Graph version 1.019

# SYNOPSIS

``````  use RDF::Trine::Graph;
my \$a = RDF::Trine::Graph->new( \$model_a );
my \$b = RDF::Trine::Graph->new( \$model_b );
print "graphs are " . (\$a->equals( \$b ) ? "the same" : "different");``````

# DESCRIPTION

RDF::Trine::Graph provdes a mechanism for testing graph isomorphism based on graph triples from either a RDF::Trine::Model or a RDF::Trine::Iterator. Isomorphism testing requires materializing all of a graph's triples in memory, and so should be used carefully in situations with large graphs.

# METHODS

`new ( \$model )`
`new ( \$iterator )`

Returns a new graph from the given RDF::Trine::Model or RDF::Trine::Iterator::Graph object.

`equals ( \$graph )`

Returns true if the invocant and \$graph represent two equal RDF graphs (e.g. there exists a bijection between the RDF statements of the invocant and \$graph).

`is_subgraph_of ( \$graph )`

Returns true if the invocant is a subgraph of \$graph. (i.e. there exists an injection of RDF statements from the invocant to \$graph.)

`injection_map ( \$graph )`

If the invocant is a subgraph of \$graph, returns a mapping of blank node identifiers from the invocant graph to \$graph as a hashref. Otherwise returns false. The solution is not always unique; where there exist multiple solutions, the solution returned is arbitrary.

`split_blank_statements`

Returns two array refs, containing triples with blank nodes and triples without any blank nodes, respectively.

`get_statements`

Returns a RDF::Trine::Iterator::Graph object for the statements in this graph.

`error`

Returns an error string explaining the last failed `equal` call.

# BUGS

Please report any bugs or feature requests to through the GitHub web interface at https://github.com/kasei/perlrdf/issues.

# AUTHOR

Gregory Todd Williams `<gwilliams@cpan.org>`

Copyright (c) 2006-2012 Gregory Todd Williams. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.