NAME
REST::Neo4p::Schema - Label-based indexes and constraints
SYNOPSIS
REST::Neo4p->connect($server);
$schema = REST::Neo4p::Schema->new;
$schema->create_index('Person','name');
DESCRIPTION
Neo4j v2.0+ provides a way to schematize the graph on the basis of node labels, associated indexes, and property uniqueness constraints. REST::Neo4p::Schema
allows access to this system via the Neo4j REST API. Use a Schema
object to create, list, and drop indexes and constraints.
METHODS
- create_index()
-
$schema->create_index('Label', 'property'); $schema->create_index('Label', @properties);
The second example is convenience for creating multiple single indexes on each of a list of properties. It does not create a compound index on the set of properties. Returns TRUE.
- get_indexes()
-
@properties = $schema->get_indexes('Label');
Get a list properties on which an index exists for a given label.
- drop_index()
-
$schema->drop_index('Label','property'); $schema->drop_index('Label', @properties);
Remove indexes on given property or properties for a given label.
- create_unique_constraint()
-
$schema->create_unique_constraint('Label', 'property'); $schema->create_unique_constraint('Label', @properties);
Create uniqueness constraints on a given property or properties for a given label.
Note: For some inexplicable reason, this one schema feature went behind the paywall in Neo4j version 4.0. Unless you are using the Enterprise Edition, this method will throw the dreaded REST::Neo4p::Neo4jTightwadException.
- get_constraints()
-
@properties = $schema->get_constraints('Label');
Get a list of properties for which (uniqueness) constraints exist for a given label.
- drop_unique_constraint()
-
$schema->drop_unique_constraint('Label', 'property'); $schema->drop_unique_constraint('Label', @properties);
Remove uniqueness constraints on given property or properties for a given label.
SEE ALSO
REST::Neo4p, REST::Neo4p::Index, REST::Neo4p::Query
AUTHOR
Mark A. Jensen
CPAN ID: MAJENSEN
majensen -at- cpan -dot- org
LICENSE
Copyright (c) 2012-2021 Mark A. Jensen. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.