Description
While I get queries like MATCH (n)-[r]->(m) RETURN n, m
to work, when executing a query like MATCH (n)-[r]->(m) RETURN n, r, m
, the plugin fails with:
Executing query:
MATCH (n)-[r]->(m) RETURN n, r, m
Error occurred: Wrong serializer selected. Please check connection configuration. Details...
Regardless of the serializer; in fact, all of the selected do work, as long as I don't attempt to return a relation.
Sadly I can't copy the details from the dialog window, but the error messages go along the line of
org.apache.tinkerpop.shaded.kryo.KryoException: Encountered unregistered class ID: 65536
(when using Gryo), ororg.apache.tinkerpop.shaded.jackson.databing.exc.MismatchedInputException: Cannot deserialize instance of 'java.lang.String' out of START_OBJECT token
(when using Graphson)
Now this seems to be a known issue and apparently boils down to org.janusgraph.graphdb.tinkerpop.JanusGraphIoRegistry
being unknown on the client side. For example, see e.g.
- https://stackoverflow.com/a/53207419/195651
- Gryo serialization stacktrace orientechnologies/orientdb-gremlin#161 (comment)
As far as JanusGraph is concerned, I can work around this issue by replacing
org.janusgraph.channelizers.JanusGraphWsAndHttpChannelizer
withorg.apache.tinkerpop.gremlin.server.channel.WsAndHttpChannelizer
, andorg.janusgraph.graphdb.tinkerpop.JanusGraphIoRegistry
withorg.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerIoRegistryV3d0
,
but I'm not sure of the implications there.
Instead, would it be possible to register JanusGraph's types with the plugin so that it works out of the box? I have a Docker Compose setup ready at sunsided/janusgraph-docker that might help in testing.