NAME
REST::Neo4p::Constraint::Relationship - Neo4j Relationship Constraints
SYNOPSIS
# use REST::Neo4p::Constrain, it's nicer
$rc = REST::Neo4p::Constraint::Relationship->new(
'allowed_contains_relns' =>
{ _condition => 'only',
_relationship_type => 'contains',
_priority => 0,
_descriptors => [ {'module' => 'method'},
{'module' => 'variable'},
{'method' => 'variable'} ] }
);
DESCRIPTION
REST::Neo4p::Constraint::Relationship
is a class that represents constraints on the type and direction of relationships between nodes that satisfy given sets of property constraints.
Constraint hash specification:
{
_condition => <'only'|'none'>,
_relationship_type => <relationship_typename>,
_priority => <integer priority>,
_descriptors => [{ property_constraint_tag =>
property_constraint_tag },...] }
}
METHODS
- new()
-
$rc = $REST::Neo4p::Constraint::Relationship->new( $tag => $constraint_hash );
- add_constraint()
-
$rc->add_constraint( { 'star' => 'planet' });
- remove_constraint()
-
$rc->remove_constraint( { 'developer' => 'parole_officer' } );
- tag()
-
Returns the constraint tag.
- type()
-
Returns the constraint type ('relationship').
- rtype()
-
The relationship type to which this constraint applies.
- constraints()
-
Returns the internal constraint spec hashref.
- priority()
- set_priority()
-
Constraints with higher priority will be checked before constraints with lower priority by
validate_relationship()
. - condition()
- set_condition()
-
$r->set_condition('only');
Get/set 'only' or 'none' for a given relationship constraint. See REST::Neo4p::Constrain.
- validate()
-
$c->validate( $relationship_object ); $c->validate( $node_object1 => $node_object2, $reln_type ); $c->validate( { name => 'Steve', instrument => 'banjo' } => { name => 'Marcia', instrument => 'blunt' }, 'avoids' );
Returns true if the item meets the constraint, false if not.
SEE ALSO
REST::Neo4p, REST::Neo4p::Node, REST::Neo4p::Relationship, REST::Neo4p::Constraint, REST::Neo4p::Constraint::Relationship, REST::Neo4p::Constraint::RelationshipType.
AUTHOR
Mark A. Jensen
CPAN ID: MAJENSEN
majensen -at- cpan -dot- org
LICENSE
Copyright (c) 2012 Mark A. Jensen. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.