Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

graph::transitiveclosure(3pm) [debian man page]

Graph::TransitiveClosure(3pm)				User Contributed Perl Documentation			     Graph::TransitiveClosure(3pm)

Graph::TransitiveClosure - create and query transitive closure of graph

SYNOPSIS
use Graph::TransitiveClosure; use Graph::Directed; # or Undirected my $g = Graph::Directed->new; $g->add_...(); # build $g # Compute the transitive closure graph. my $tcg = Graph::TransitiveClosure->new($g); $tcg->is_reachable($u, $v) # Identical to $tcg->has_edge($u, $v) # Being reflexive is the default, meaning that null transitions # (transitions from a vertex to the same vertex) are included. my $tcg = Graph::TransitiveClosure->new($g, reflexive => 1); my $tcg = Graph::TransitiveClosure->new($g, reflexive => 0); # is_reachable(u, v) is always reflexive. $tcg->is_reachable($u, $v) # The reflexivity of is_transitive(u, v) depends of the reflexivity # of the transitive closure. $tcg->is_transitive($u, $v) # You can check any graph for transitivity. $g->is_transitive() my $tcg = Graph::TransitiveClosure->new($g, path_length => 1); $tcg->path_length($u, $v) # path_vertices is automatically always on so this is a no-op. my $tcg = Graph::TransitiveClosure->new($g, path_vertices => 1); $tcg->path_vertices($u, $v) # Both path_length and path_vertices. my $tcg = Graph::TransitiveClosure->new($g, path => 1); $tcg->path_vertices($u, $v) $tcg->length($u, $v) my $tcg = Graph::TransitiveClosure->new($g, attribute_name => 'length'); $tcg->path_length($u, $v) DESCRIPTION
You can use "Graph::TransitiveClosure" to compute the transitive closure graph of a graph and optionally also the minimum paths (lengths and vertices) between vertices, and after that query the transitiveness between vertices by using the "is_reachable()" and "is_transitive()" methods, and the paths by using the "path_length()" and "path_vertices()" methods. For further documentation, see the Graph::TransitiveClosure::Matrix. Class Methods new($g, %opt) Construct a new transitive closure object. Note that strictly speaking the returned object is not a graph; it is a graph plus other stuff. But you should be able to use it as a graph plus a couple of methods inherited from the Graph::TransitiveClosure::Matrix class. Object Methods These are only the methods 'native' to the class: see Graph::TransitiveClosure::Matrix for more. is_transitive($g) Return true if the Graph $g is transitive. transitive_closure_matrix Return the transitive closure matrix of the transitive closure object. INTERNALS The transitive closure matrix is stored as an attribute of the graph called "_tcm", and any methods not found in the graph class are searched in the transitive closure matrix class. perl v5.10.0 2009-01-17 Graph::TransitiveClosure(3pm)

Check Out this Related Man Page

RDF::Trine::Graph(3pm)					User Contributed Perl Documentation				    RDF::Trine::Graph(3pm)

NAME
RDF::Trine::Graph - Materialized RDF Graphs for testing isomorphism VERSION
This document describes RDF::Trine::Graph version 1.000 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
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. perl v5.14.2 2012-06-29 RDF::Trine::Graph(3pm)
Man Page