我正在努力使用当前的gremlin javascript驱动程序和OrientDB查找示例。我无法连接到OrientDB(已经使用启用了tinkerpop的版本)。
我的示例代码如下:
const gremlin = require("gremlin")
const DriverRemoteConnection = gremlin.driver.DriverRemoteConnection
const graph = new gremlin.structure.Graph()
const g = graph.traversal().withRemote(new DriverRemoteConnection('ws://localhost:8182/demodb'))
g.V().toList().then(function(data) {
console.log(data)
}).catch(function(err) {
console.log(err)
})
有人对将它们一起使用有任何经验吗?谢谢
答案 0 :(得分:1)
如果要通过Gremlin连接OrientDB,请尝试以下操作:
Local -> gremlin> g = new OrientGraph("plocal:db_path/nomeDB")
In-Memory -> gremlin> g = new OrientGraph("memory:nomeDB")
Remote -> gremlin> g = new OrientGraph("remote:localhost/nomeDB")
希望有帮助
致谢
答案 1 :(得分:0)
我挖了一点。 Gremlin Javascript驱动程序不支持GraphSON3
https://github.com/jbmusso/gremlin-javascript/issues/109
将此添加到server.yaml序列化程序配置中,以添加对v2的支持
- { className: org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerGremlinV2d0, config: { ioRegistries: [org.apache.tinkerpop.gremlin.orientdb.io.OrientIoRegistry] }}
然后它应该工作
答案 2 :(得分:0)
尝试一下:
import * as gremlin from 'gremlin';
const DriverRemoteConnection = gremlin.driver.DriverRemoteConnection;
const authenticator = new gremlin.driver.auth.PlainTextSaslAuthenticator(<db username>, <db password>);
const traversal = gremlin.process.AnonymousTraversalSource.traversal;
const g = traversal().withRemote(new DriverRemoteConnection('ws://localhost:8182/gremlin', {
authenticator: authenticator
}));
请注意网址中的/gremlin
,而不是/demodb
。
要指向demodb
或其他数据库,请从OrientDB修改demodb.properties
文件夹中的config
文件。
如果要创建另一个属性文件,只需记住在gremlin-server.yaml
文件中指向它即可。