You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Please note that GitHub issues are only meant for bug reports/feature requests. If you have questions on how to use APOC, please ask on the Neo4j Discussion Forum instead of creating an issue here.
Expected Behavior (Mandatory)
once we call apoc.export.cypher.schema() it should return all cypher statements for all constraints and index . Let us assume current stte of schema for our db is -
We have one unique constraint unique_person on label Person on property id
One index idx_person_surname on label Person on property surname
One constraint person_has_name IS NOT NULL on label Person for property surname
Once i run apoc.export.cypher.schema() it should return me all three cypher statements of current schema.
Actual Behavior (Mandatory)
For our above example its returning cypher statements for unique constraints and index but its not returning for IS NOT NULL type cypher queries.
How to Reproduce the Problem
Steps -
Execute these cypher queries
CREATE CONSTRAINT unique_person IF NOT EXISTS FOR (p:Person) REQUIRE p.id IS UNIQUE;
CREATE CONSTRAINT person_has_name IF NOT EXISTS FOR (p:Person) REQUIRE p.name IS NOT NULL;
CREATE INDEX idx_person_surname IF NOT EXISTS FOR (p:Person) ON (p.surname);
Now check for constraints by show constraints and we will find two constraints 'person_has_name' and 'unique_person'
and once we would check indexes by cypher statements - show indexes we would found that it returns idx_person_surname and unique_person which is as expected .
Now execute apoc function CALL apoc.export.cypher.schema() . In response we would get only
CREATE RANGE INDEX FOR (n:Person) ON (n.surname);
CREATE CONSTRAINT unique_person FOR (node:Person) REQUIRE (node.id) IS UNIQUE;
Here it dos not give response for IS NOT NULL constraints
Simple Dataset (where it's possibile)
Just setup a empty database and execute process described in How to reproduce the Problem
//Insert here a set of Cypher statements that helps us to reproduce the problem
CREATE CONSTRAINT unique_person IF NOT EXISTS FOR (p:Person) REQUIRE p.id IS UNIQUE;
CREATE CONSTRAINT person_has_name IF NOT EXISTS FOR (p:Person) REQUIRE p.name IS NOT NULL;
CREATE INDEX idx_person_surname IF NOT EXISTS FOR (p:Person) ON (p.surname);
// check in neo4j
show constraints;
show indexes;
// call apoc function
CALL apoc.export.cypher.schema()
Steps (Mandatory)
1.set up neo4j with apoc-core library
2.CREATE CONSTRAINT unique_person IF NOT EXISTS FOR (p:Person) REQUIRE p.id IS UNIQUE;
CREATE CONSTRAINT person_has_name IF NOT EXISTS FOR (p:Person) REQUIRE p.name IS NOT NULL;
CREATE INDEX idx_person_surname IF NOT EXISTS FOR (p:Person) ON (p.surname);
3.check response of CALL apoc.export.cypher.schema() ; there would be no constraints person_has_name
Screenshots (where it's possibile)
Specifications (Mandatory)
Currently used versions
we have tried this on neo4j enterprise version 5.6.0 with apoc-core 5.6.0
also tried on 5.7.0 of both and 5.8.0 of both .
Versions
OS: Ubuntu 22.04.3 LTS
Neo4j:Enterprise 5.6.0 , 5.7.0, 5.8.0
Neo4j-Apoc:apoc-core 5.6.0, 5.7.0, 5.8.0
The text was updated successfully, but these errors were encountered:
Guidelines
Please note that GitHub issues are only meant for bug reports/feature requests. If you have questions on how to use APOC, please ask on the Neo4j Discussion Forum instead of creating an issue here.
Expected Behavior (Mandatory)
once we call
apoc.export.cypher.schema()
it should return all cypher statements for all constraints and index . Let us assume current stte of schema for our db is -unique_person
on label Person on propertyid
idx_person_surname
on label Person on property surnameperson_has_name
IS NOT NULL on label Person for property surnameOnce i run
apoc.export.cypher.schema()
it should return me all three cypher statements of current schema.Actual Behavior (Mandatory)
For our above example its returning cypher statements for unique constraints and index but its not returning for IS NOT NULL type cypher queries.
How to Reproduce the Problem
Steps -
CREATE CONSTRAINT unique_person IF NOT EXISTS FOR (p:Person) REQUIRE p.id IS UNIQUE;
CREATE CONSTRAINT person_has_name IF NOT EXISTS FOR (p:Person) REQUIRE p.name IS NOT NULL;
CREATE INDEX idx_person_surname IF NOT EXISTS FOR (p:Person) ON (p.surname);
show constraints
and we will find two constraints 'person_has_name' and 'unique_person'and once we would check indexes by cypher statements -
show indexes
we would found that it returnsidx_person_surname
andunique_person
which is as expected .CALL apoc.export.cypher.schema()
. In response we would get onlyCREATE RANGE INDEX FOR (n:Person) ON (n.surname);
CREATE CONSTRAINT unique_person FOR (node:Person) REQUIRE (node.id) IS UNIQUE;
Here it dos not give response for IS NOT NULL constraints
Simple Dataset (where it's possibile)
Just setup a empty database and execute process described in
How to reproduce the Problem
Steps (Mandatory)
1.set up neo4j with apoc-core library
2.CREATE CONSTRAINT unique_person IF NOT EXISTS FOR (p:Person) REQUIRE p.id IS UNIQUE;
CREATE CONSTRAINT person_has_name IF NOT EXISTS FOR (p:Person) REQUIRE p.name IS NOT NULL;
CREATE INDEX idx_person_surname IF NOT EXISTS FOR (p:Person) ON (p.surname);
3.check response of CALL apoc.export.cypher.schema() ; there would be no constraints
person_has_name
Screenshots (where it's possibile)
Specifications (Mandatory)
Currently used versions
we have tried this on neo4j enterprise version 5.6.0 with apoc-core 5.6.0
also tried on 5.7.0 of both and 5.8.0 of both .
Versions
The text was updated successfully, but these errors were encountered: