orientechnologies / orientdb-gremlin

TinkerPop3 Graph Structure Implementation for OrientDB
Apache License 2.0
91 stars 32 forks source link

Invalid class name found. Character '.' cannot be used in class name #115

Open giovibal opened 7 years ago

giovibal commented 7 years ago

During import of an entire graph from my old titan based service, incurred into this exception:

java.lang.IllegalArgumentException: com.orientechnologies.orient.core.exception.OSchemaException: Invalid class name found. Character '.' cannot be used in class name 'E_notify.mail'
    DB name="sp"
    at org.apache.tinkerpop.gremlin.orientdb.OrientGraph.createClass(OrientGraph.java:562)
    at org.apache.tinkerpop.gremlin.orientdb.OrientGraph.createClass(OrientGraph.java:551)
    at org.apache.tinkerpop.gremlin.orientdb.OrientGraph.createEdgeClass(OrientGraph.java:540)
    at org.apache.tinkerpop.gremlin.orientdb.OrientEdge.createRawElement(OrientEdge.java:60)
    at org.apache.tinkerpop.gremlin.orientdb.OrientEdge.<init>(OrientEdge.java:36)
    at org.apache.tinkerpop.gremlin.orientdb.OrientVertex.addEdge(OrientVertex.java:153)
    at org.apache.tinkerpop.gremlin.process.traversal.step.map.AddEdgeStep.map(AddEdgeStep.java:92)
    at org.apache.tinkerpop.gremlin.process.traversal.step.map.AddEdgeStep.map(AddEdgeStep.java:47)
    at org.apache.tinkerpop.gremlin.process.traversal.step.map.MapStep.processNextStart(MapStep.java:37)
    at org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.hasNext(AbstractStep.java:143)
    at org.apache.tinkerpop.gremlin.process.traversal.util.DefaultTraversal.hasNext(DefaultTraversal.java:179)
    at org.apache.tinkerpop.gremlin.server.op.AbstractOpProcessor.handleIterator(AbstractOpProcessor.java:88)
    at org.apache.tinkerpop.gremlin.server.op.AbstractEvalOpProcessor.lambda$evalOpInternal$4(AbstractEvalOpProcessor.java:248)
    at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor.lambda$eval$2(GremlinExecutor.java:298)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: com.orientechnologies.orient.core.exception.OSchemaException: Invalid class name found. Character '.' cannot be used in class name 'E_notify.mail'
    DB name="sp"
    at com.orientechnologies.orient.core.metadata.schema.OSchemaShared.createClass(OSchemaShared.java:370)
    at com.orientechnologies.orient.core.metadata.schema.OSchemaShared.createClass(OSchemaShared.java:363)
    at com.orientechnologies.orient.core.metadata.schema.OSchemaProxy.createClass(OSchemaProxy.java:95)
    at org.apache.tinkerpop.gremlin.orientdb.OrientGraph.createClass(OrientGraph.java:560)
    ... 17 more

We are evaluating the use of orientdb as backend of tinkerpop-gremlin-server, so our question is: can this "limitation" be removed in future versions ?