jbmusso / gremlin-javascript

JavaScript tools for graph processing in Node.js and the browser inspired by the Apache TinkerPop API
MIT License
214 stars 62 forks source link

Multiple properties on a vertex is not supported #107

Closed 1pavanb closed 6 years ago

1pavanb commented 6 years ago

I am using tinkerpop's gremlin server with neo4j db. How to set the vertex property cardinality to set or list?

java.lang.UnsupportedOperationException: Multiple properties on a vertex is not supported
    at org.apache.tinkerpop.gremlin.structure.VertexProperty$Exceptions.multiPropertiesNotSupported(VertexProperty.java:99)
    at org.apache.tinkerpop.gremlin.neo4j.structure.trait.NoMultiNoMetaNeo4jTrait.setVertexProperty(NoMultiNoMetaNeo4jTrait.java:101)
    at org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jVertex.property(Neo4jVertex.java:85)
    at org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.AddPropertyStep.sideEffect(AddPropertyStep.java:121)
    at org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.SideEffectStep.processNextStart(SideEffectStep.java:39)
    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:192)
    at org.apache.tinkerpop.gremlin.server.op.AbstractOpProcessor.handleIterator(AbstractOpProcessor.java:89)
    at org.apache.tinkerpop.gremlin.server.op.AbstractEvalOpProcessor.lambda$evalOpInternal$5(AbstractEvalOpProcessor.java:252)
    at org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor.lambda$eval$0(GremlinExecutor.java:273)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    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)

I have tried setting these following properties in neo4j.properties

gremlin.graph=org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph
gremlin.neo4j.directory=/var/lib/neo4j/data/databases/graph.db
gremlin.neo4j.conf.node_auto_indexing=true
gremlin.neo4j.conf.relationship_auto_indexing=true
gremlin.neo4j.conf.allow_store_upgrade=true
gremlin.neo4j.conf.multiProperties=true
gremlin.neo4j.conf.metaProperties=true
gremlin.tinkergraph.defaultVertexPropertyCardinality=list
jbmusso commented 6 years ago

I don't have much experience with Gremlin Server and Neo4j, so I don't know what could be going wrong with your current configuration. I guess you've been checking http://tinkerpop.apache.org/docs/3.3.2/reference/#_multi_meta_properties?

Also, you could have some luck asking on the official TinkerPop mailing list: https://groups.google.com/forum/#!forum/gremlin-users

I'll close this issue since it's not related to gremlin-javascript per se but most likely something related to server configuration.

1pavanb commented 6 years ago

yes. Thank you.