标签: titan

如何在Titan数据库中覆盖顶点ID?

我正在使用一个生成对象的框架,Node他们已经分配了一个id.现在需要将它们转换为Titan顶点,并在框架中控制相同的ID(访问时node.id)

public long addNode(Node node) {    
   TitanVertex vertex = (TitanVertex) g.addVertex(null);
   g.commit();

   vertex.setProperty(ID, node.id);
   vertex.setProperty(TYPE, node.type);
   vertex.setProperty(VERSION, node.version);
   vertex.setProperty(TIME, node.time);
   vertex.setProperty(DATA, node.data);
   ...
Run Code Online (Sandbox Code Playgroud)

错误:

java.lang.IllegalArgumentException: Name is reserved: id
Run Code Online (Sandbox Code Playgroud)

但它似乎不允许它.我应该使用一些虚假财产来模仿二级身份证吗?泰坦有办法做到这一点吗?

谢谢!

neo4j nosql titan

3
推荐指数
1
解决办法
2560
查看次数

Titan需要什么尺寸的Faunus Graph Analytics Framework?

我正在寻找通过两个数据集在TitanGraph DB上的边缘执行图聚合(groupBy,groupCount)查询:

  1. 大约10,000个节点和大约100万个边缘

  2. 大约200,000个节点和大约10亿个边缘

有谁知道我需要在什么时候安装Faunus才能在1分钟内完成这种类型的gremlin查询?

graph gremlin titan faunus

3
推荐指数
1
解决办法
452
查看次数

计算所有顶点的快速方法(具有属性 x)

我正在将 Titan 与 Cassandra 一起使用,并且有几个关于使用 Gremlin 查询数据库的(相关)问题:

1.) 有没有比计算所有顶点更快的方法

g.V.count()
Run Code Online (Sandbox Code Playgroud)

Titan 声称使用索引。但是如何使用没有属性的索引?

WARN  c.t.t.g.transaction.StandardTitanTx - Query requires iterating over all vertices [<>]. For better performance, use indexes
Run Code Online (Sandbox Code Playgroud)

2.) 是否有比计算属性为“myProperty”的所有顶点更快的方法

g.V.has('myProperty').count()
Run Code Online (Sandbox Code Playgroud)

再次泰坦意味着以下:

WARN  c.t.t.g.transaction.StandardTitanTx - Query requires iterating over all vertices [(myProperty<> null)]. For better performance, use indexes
Run Code Online (Sandbox Code Playgroud)

但是,我又该如何做到这一点?我已经有一个“myProperty”的索引,但它需要一个值来快速查询。

3.) 与边缘相同的问题......

nosql gremlin titan

3
推荐指数
1
解决办法
2827
查看次数

被所有这​​个节点困惑 - >泰坦的东西

我是Java,Gremlin,Nodejs,Tickerpop,Maven以及其他所有人的新手.这段代码有什么作用?特别是'java.import'在做什么?它是Java类吗?这与Titan有什么关系?

var Titan = require('titan-node');
var gremlin = new Titan.Gremlin({ loglevel: 'OFF' });

var TinkerGraphFactory = gremlin.java.import('com.tinkerpop.blueprints.impls.tg.TinkerGraphFactory');
var graph = TinkerGraphFactory.createTinkerGraphSync();
var g = gremlin.wrap(graph);

g.V('name', 'marko').next(function (err, v) {
    v.getProperty('name', function (err, value) {
        console.log(value);
    });
});
Run Code Online (Sandbox Code Playgroud)

为什么当我使用Rexster时,我看不到这里要查询的数据库?

node.js gremlin titan tinkerpop

3
推荐指数
1
解决办法
1407
查看次数

hasNot() 在 Gremlin 中应该如何工作?

如果给定的顶点没有特定的属性,g.V.hasNot('non-existent-property', 'value')查询的结果应该是什么 ?顶点是否应该由这样的查询发出?

使用 TinkerPop 和 Titan 的内存图时,我得到了矛盾的结果:

gremlin> g = TinkerGraphFactory.createTinkerGraph()
==>tinkergraph[vertices:6 edges:6]
gremlin> g.V.hasNot("abcd", true)
==>v[1]
==>v[2]
==>v[3]
==>v[4]
==>v[5]
==>v[6]
Run Code Online (Sandbox Code Playgroud)

以上对我来说很好 - 顶点没有指定的属性(设置为true),所以所有都返回。但是如果我在 Titan 的内存图中做类似的事情:

gremlin> g2 = TitanFactory.open(com.thinkaurelius.titan.graphdb.configuration.GraphDatabaseConfiguration.buildConfiguration().set(com.thinkaurelius.titan.graphdb.configuration.GraphDatabaseConfiguration.STORAGE_BACKEND, "inmemory"))
==>titangraph[inmemory:[127.0.0.1]]
gremlin> g2.addVertex(null)
==>v[256]
gremlin> g2.V.hasNot("abcd", true)
Run Code Online (Sandbox Code Playgroud)

它不返回任何结果。哪一个是对的?

graph gremlin titan tinkerpop

3
推荐指数
1
解决办法
3049
查看次数

如何在Titan DB中删除该属性?

 g.V(apple).properties("name").drop();
Run Code Online (Sandbox Code Playgroud)

这是我尝试删除苹果顶点的属性,但得到一个错误

java.lang.IllegalStateException:无法访问元素,因为其封闭的事务已关闭且未绑定

基本上我试图检查我们可以修改TitanDB中的模式吗?我浏览文档但没有得到任何关于它的事情.

schema gremlin titan

3
推荐指数
1
解决办法
1413
查看次数

如何在Gremlin Server Titan 1.0中删除顶点

我将Titan 1.0版本和带有REST Api的Gremlin Server用于创建和更新Vertex详细信息。如何使用vertexId删除顶点?

graph gremlin titan gremlin-server

3
推荐指数
1
解决办法
3389
查看次数

为什么我不能连接到Gremlin-Server?

抽象

我正在尝试在Docker(v1.13.0)中设置Titan/Cassandra/Gremlin-Server堆栈.我面临的问题是,尝试连接到默认端口上的Gremlin-Server的应用程序8182报告错误(详情如下).

首先,这是一些相关的版本信息:

  • 卡桑德拉v2.2.8
  • Titan v1.0.0(Hadoop 1)
  • Gremlin 3.2.3

建立

设置在a Dockerfile中进行,以便可重现.它假定一个卡桑德拉容器已经存在,在运行cassandra.yamlstart_rpc已设置为true.

Dockerfile如下:

FROM openjdk:alpine

ENV TITAN 'titan-1.0.0-hadoop1'

RUN apk update && apk add bash unzip && rm -rf /var/cache/apk/* \
    && adduser -S -s /bin/bash -D srg \
    && wget -O /tmp/$TITAN.zip http://s3.thinkaurelius.com/downloads/titan/$TITAN.zip \
    && unzip /tmp/$TITAN.zip -d /opt && ln -s /opt/$TITAN /opt/titan \
    && rm /tmp/*.zip \
    && chown -R srg /opt/$TITAN/ \
    && /opt/titan/bin/gremlin-server.sh -i …
Run Code Online (Sandbox Code Playgroud)

titan gremlin-server gremlinpython

3
推荐指数
1
解决办法
2795
查看次数

JanusGraph将子图输出为GraphSON错误

我试图用JanusGraph在Gremlin shell中输出一个子图作为GraphSON.

TinkerPop文档供参考:http://tinkerpop.apache.org/docs/current/reference/#graphson-reader-writer

当我编写完整的图形时,这工作正常,但是,当我想编写一个我使用这些命令查询的子图时:

gremlin> subGraph = g.V(45240).repeat(__.bothE().subgraph('subGraph').bothV()).times(4).cap('subGraph').next()
Run Code Online (Sandbox Code Playgroud)

我使用相同的写命令:

gremlin> subGraph.io(IoCore.graphson()).writeGraph("45240_sub4.json")
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

(是java.lang.IllegalStateException)(通过引用链:org.janusgraph.graphdb.relations.RelationIdentifier ["inVertexId"])

搜索周围,我发现另一个线程说我需要导入一个包以便正确地执行此操作(对于TitanGraph,但我认为它也适用于JanusGraph):在gremlin中导入包

但是,每当我尝试导入时:

gremlin>  import com.thinkaurelius.titan.graphdb.tinkerpop.io.graphson.TitanGraphSONModule
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

导入定义无效:'com.thinkaurelius.titan.graphdb.tinkerpop.io.graphson.TitanGraphSONModule'; 原因:启动失败:script1494618250861805544050.groovy:1:无法解析类com.thinkaurelius.titan.graphdb.tinkerpop.io.graphson.TitanGraphSONModule @ line 1,第1列.import com.thinkaurelius.titan.graphdb.tinkerpop.io. graphson.TitanGraphSONModule ^

1错误

如何使用JanusGraph在Gremlin shell中将子图输出为GraphSON?

java groovy gremlin titan janusgraph

3
推荐指数
1
解决办法
961
查看次数

gremlin 查询检索之间有多条边的顶点

在此输入图像描述

考虑上图。我想要一个 gremlin 查询,它返回所有节点之间具有多个边的节点,如图所示。

该图是使用 Neo4j 密码查询获得的: MATCH (d:dest)-[r]-(n:cust) WITH d,n, count(r) as pop RETURN d, n ORDER BY common desc LIMIT 5

例如:RITUPRAKA... 和 Asia之间有 8 个多重边,因此查询返回了 2 个节点以及边,与其他节点类似。

注意:图中还有其他节点,它们之间只有一条边,这些节点将不会被返回。

我想在gremlin中做同样的事情。

我使用了下面给出的查询 gV().as('out').out().as('in').select('out','in').groupCount().unfold().filter(select (值).is(gt(1))).select(键)

它显示 out:v[1234],in:v[3456] .....

但我不想显示节点的 ID,而是想显示节点的值,例如 out:ICIC1234,in:HDFC234

我已将查询修改为 gV().values("name").as('out').out().as('in').values("name").select('out','in' )。groupCount().unfold().filter(select(values).is(gt(1))).select(keys)

但它显示类似 classcastException 的错误,要遍历的每个顶点都使用索引进行快速迭代

java groovy neo4j gremlin titan

3
推荐指数
1
解决办法
4634
查看次数