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
macOs Ventura Version 13.3.1, java 17.0.2 2022-01-18 LTS
Description
Use case:
import a dataset with multi-label nodes (e.g :Place:City, :Place:Country) from Neo4j using the arcadedb neo4j importer (jsonl/graphml)
be able to query from gremlin/cypher using both Place and its subtypes (e.g g.V().hasLabel(‘Place’) - should retrieve all the Places, Cities and Countries, g.V().hasLabel(‘City’) - should retrieve all the Cities)
From the documentation
import from multi-label sources using the neo4j importer should create underscore-joined labels (e.g City_Place) that use inheritance
vertices with multiple labels work using SQL inheritance and can be then retrieved in gremlin/cypher using the parent label as described here (No support for Multi-label nodes #384)
Expected behavior
the neo4j importer should be able to import multi-label sources coming from Neo4j as the documentation states and then the vertices should be retrieved as expected by the gremlin/cypher queries
Actual behavior
the import fail using the commands and jsonl file mentioned in the Steps to reproduce section
the import using the graphml file completes but the vertices have vertex as label (@type) and the actual labels are stored as string concatenation in a property (labels = “:Place:City”)
Steps to reproduce
json example line: {“type”:“node”,“id”:“0",“labels”:[“Place”,“City”],“properties”:{“name”:“Test”}}
if from terminal we execute:
import database file:///home/arcadedb/data/import/all.json
returns an error:
ERROR:
com.arcadedb.exception.CommandExecutionException: Error on importing database
at com.arcadedb.query.sql.parser.ImportDatabaseStatement.executeSimple(ImportDatabaseStatement.java:69)
at com.arcadedb.query.sql.executor.SingleOpExecutionPlan.executeInternal(SingleOpExecutionPlan.java:91)
at com.arcadedb.query.sql.parser.SimpleExecStatement.execute(SimpleExecStatement.java:52)
at com.arcadedb.query.sql.parser.Statement.execute(Statement.java:65)
at com.arcadedb.query.sql.SQLQueryEngine.command(SQLQueryEngine.java:110)
at com.arcadedb.database.EmbeddedDatabase.command(EmbeddedDatabase.java:1313)
at com.arcadedb.console.Console.executeSQL(Console.java:591)
at com.arcadedb.console.Console.execute(Console.java:267)
at com.arcadedb.console.Console.parse(Console.java:731)
at com.arcadedb.console.Console.interactiveMode(Console.java:129)
at com.arcadedb.console.Console.execute(Console.java:179)
at com.arcadedb.console.Console.main(Console.java:142)
Caused by: com.arcadedb.integration.importer.ImportException: Error on parsing source ‘file:///home/arcadedb/data/import/all.json (compressed=false size=37710174)’
at com.arcadedb.integration.importer.Importer.load(Importer.java:63)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at com.arcadedb.query.sql.parser.ImportDatabaseStatement.executeSimple(ImportDatabaseStatement.java:61)
... 11 more
Caused by: java.lang.IllegalStateException: stream has already been operated upon or closed
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:229)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
at com.arcadedb.integration.importer.Neo4jImporter.typeNameFromLabels(Neo4jImporter.java:562)
at com.arcadedb.integration.importer.Neo4jImporter.lambda$syncSchema$1(Neo4jImporter.java:198)
at com.arcadedb.integration.importer.Neo4jImporter.executeCallback(Neo4jImporter.java:533)
at com.arcadedb.integration.importer.Neo4jImporter.readFile(Neo4jImporter.java:482)
at com.arcadedb.integration.importer.Neo4jImporter.syncSchema(Neo4jImporter.java:195)
at com.arcadedb.integration.importer.Neo4jImporter.run(Neo4jImporter.java:141)
at com.arcadedb.integration.importer.format.Neo4jImporterFormat.load(Neo4jImporterFormat.java:47)
at com.arcadedb.integration.importer.Importer.loadFromSource(Importer.java:95)
at com.arcadedb.integration.importer.Importer.load(Importer.java:54)
... 16 more
Further tests using version 22.6.1 (referenced in the issue_384 above)
the import fail using the mentioned commands and jsonl file
the import using the graphml file completes but the vertices have vertex as label (@type) and the actual labels are stored as string concatenation in a property (labels = “:Place:City”)
The text was updated successfully, but these errors were encountered:
ArcadeDB Version:
23.10.1
OS and JDK Version:
macOs Ventura Version 13.3.1, java 17.0.2 2022-01-18 LTS
Description
Use case:
:Place:City
,:Place:Country
) from Neo4j using the arcadedb neo4j importer (jsonl/graphml)Place
and its subtypes (e.gg.V().hasLabel(‘Place’)
- should retrieve all thePlaces, Cities and Countries
,g.V().hasLabel(‘City’)
- should retrieve all theCities
)From the documentation
City_Place
) that use inheritanceExpected behavior
Actual behavior
vertex
as label (@type) and the actual labels are stored as string concatenation in a property (labels = “:Place:City”
)Steps to reproduce
json example line:
{“type”:“node”,“id”:“0",“labels”:[“Place”,“City”],“properties”:{“name”:“Test”}}
if from terminal we execute:
returns an error:
Further tests using version 22.6.1 (referenced in the issue_384 above)
vertex
as label (@type) and the actual labels are stored as string concatenation in a property (labels = “:Place:City”
)The text was updated successfully, but these errors were encountered: