DOKK / manpages / debian 12 / librdf-trine-perl / RDF::Trine::Graph.3pm.en
RDF::Trine::Graph(3pm) User Contributed Perl Documentation RDF::Trine::Graph(3pm)

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

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

  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");

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.

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

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

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.

2022-12-12 perl v5.36.0