标签: titan

Titan DB图表到JSON

有没有办法从TitanDB图中创建JSON?

我可以将Titangraph加载到graphml,然后将其加载到Gephi上并使用一些插件输出为gexf/json.我想知道是否可以在不涉及Gephi的情况下完成这项工作,或者作为替代方案,只需使用Gephi Java API来创建gexf/json.我偏爱JSON,因为它的尺寸较小.

json titan

2
推荐指数
1
解决办法
2215
查看次数

泰坦弹性搜索不使用索引

在我们的大型Titan Graph数据库中,我注意到以下行为:

         \,,,/
         (o o)
-----oOOo-(_)-oOOo-----
14:16:35 WARN  org.apache.hadoop.util.NativeCodeLoader  - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
gremlin> g = TitanFactory.open('/home/willem/workspace/ovc/src/main/resources/titan-cassandra-es.properties')
14:16:44 WARN  com.thinkaurelius.titan.graphdb.configuration.GraphDatabaseConfiguration  - Local setting cache.db-cache-time=0 (Type: GLOBAL_OFFLINE) is overridden by globally managed value (180000).  Use the ManagementSystem interface instead of the local configuration to control this setting.
==>titangraph[com.thinkaurelius.titan.diskstorage.cassandra.astyanax.AstyanaxStoreManager:[10.1.0.200]]
gremlin> g.indexQuery("mediaSerialNBStringIdx","v.mediaSerialNB:EB*").vertices().count()
==>937
gremlin> g.V().has("mediaSerialNB",PREFIX,"EB").count()
14:17:17 WARN  com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx  - Query requires iterating over all vertices [(mediaSerialNB PREFIX EB)]. For better performance, use indexes …
Run Code Online (Sandbox Code Playgroud)

indexing elasticsearch gremlin titan

2
推荐指数
1
解决办法
747
查看次数

错误:尝试连接到远程gremlin服务器(TinkerPop3)时连接ECONNREFUSED

我使用gremlin-javascript模块访问远程gremlin服务器.我在app.js中的代码:

var gremlin = require('gremlin-client');
var client = gremlin.createClient(8182, 'localhost');
var query = client.stream('g.V()');
query.on('data', function(result) {
  console.log(result);
});
query.on('end', function() {
  console.log("All results fetched");
});
Run Code Online (Sandbox Code Playgroud)

这工作正常,所有查询都在执行.但当我用我的远程服务器地址--cbtitan.cloudapp.net替换'localhost'时,它会回复ECONNREFUSED错误.

我应该更改/做什么来连接到该远程服务器?或者我应该更改该远程服务器中的任何配置?我严重困扰这个问题,请帮帮我.提前致谢.

小鬼,server.yaml

host: localhost
port: 8182
threadPoolWorker: 1
gremlinPool: 8
scriptEvaluationTimeout: 30000
serializedResponseTimeout: 30000
channelizer: org.apache.tinkerpop.gremlin.server.channel.HttpChannelizer
graphs: {
  graph: conf/gremlin-server/titan-berkeleyje-server.properties}
plugins:
  - aurelius.titan
scriptEngines: {
  gremlin-groovy: {
    imports: [java.lang.Math],
    staticImports: [java.lang.Math.PI],
    scripts: [scripts/empty-sample.groovy]},
  nashorn: {
      imports: [java.lang.Math],
      staticImports: [java.lang.Math.PI]}}
serializers:
  - { className: org.apache.tinkerpop.gremlin.driver.ser.GryoMessageSerializerV1d0, config: { useMapperFromGraph: graph }}
  - { …
Run Code Online (Sandbox Code Playgroud)

cassandra node.js gremlin titan tinkerpop3

2
推荐指数
1
解决办法
935
查看次数

使用适用于Titan的DynamoDB存储后端的DynamoDB定价

我想很好地了解使用DynamoDB Titan后端的价格(以$计).为此,我需要能够理解DynamoDB Titan后端何时进行读写操作.现在我很无能为力.

理想情况下,我想运行一个测试用例,它添加一些顶点,边,然后进行相当简单的遍历,然后查看完成了多少次读写操作.有关如何实现这一目标的任何想法?可能通过指标?

如果事实证明我无法自己提取这些信息,我将非常感谢有关DynamoDB Titan后端何时执行读写操作的第一个简要说明.

amazon-dynamodb titan

2
推荐指数
1
解决办法
496
查看次数

将BatchGraph与TitanGraph一起使用时出错

我正在尝试使用BatchGraph在Titan中加载数据.使用TitanGraph作为对象参数.

根据Tinkerpop的Batch Implementation,这是实现应该如何:

TitanGraph g = TitanFactory.open("titan-cassandra.properties");
BatchGraph bgraph = new BatchGraph( g, VertexIDType.STRING, 1000);
Run Code Online (Sandbox Code Playgroud)

但是在BatchGraph构造函数中需要TrasanctionalGraph对象.所以,当我把它投射为:

TitanGraph g = TitanFactory.open("titan-cassandra.properties");

 BatchGraph bgraph = new BatchGraph( (TransactionalGraph) g, VertexIDType.STRING, 1000)
Run Code Online (Sandbox Code Playgroud)

这会出现以下错误:

Exception in thread "main" java.lang.ClassCastException:
com.thinkaurelius.titan.graphdb.database.StandardTitanGraph cannot be cast to com.tinkerpop.blueprints.TransactionalGraph
Run Code Online (Sandbox Code Playgroud)

在这种情况下如何使用BatchGraph?如何处理?

我正在使用Titan 1.0.0和Blueprints 2.7.0以及cassandra 2.2.4版.

谢谢.

database batch-processing cassandra graph-databases titan

2
推荐指数
1
解决办法
285
查看次数

使用TinkerPop3 Restful接口连接到Titan Graph DB

我是Titan/Gremlin/TinkerPop3的新手,正在玩/尝试Restful API Interface来创建/修改/删除数据库中的顶点/边缘.

我基本上想看看是否有可能使用tinkerpop3公开的API进行图形处理.

我使用以下命令在gremlin服务器中创建了现代图形:

gremlin> graph = TinkerFactory.createModern()
gremlin> g = graph.traversal()
Run Code Online (Sandbox Code Playgroud)

我可以通过restful API连接到Titan并执行:

curl "http://localhost:8182?gremlin=100-1"
{"requestId":"c2dfb667-0fbe-4796-9a5b-cc472487a5b0","status":{"message":"","code":200,"attributes":{}},"result":{"data":[99],"meta":{}}}
Run Code Online (Sandbox Code Playgroud)

但以下内容不会返回任何内容:

curl http://localhost:8182 -d '{"gremlin": "g.V()"}'
{"requestId":"8ba30f35-31e7-46ff-b16e-3e01fb9a49bf","status":{"message":"","code":200,"attributes":{}},"result":{"data":[],"meta":{}}}
Run Code Online (Sandbox Code Playgroud)

我做了我的阅读:http://tinkerpop.incubator.apache.org/docs/3.0.1-incubating/#_connecting_via_rest

非常感谢任何帮助.提前致谢.

gremlin titan tinkerpop tinkerpop3

2
推荐指数
1
解决办法
1138
查看次数

TitanDB - 按时间戳降序构建属性索引

TitanDB 1.0.0(在DynamoDB之上)

格雷姆林3

我有一组带有标签a的顶点.我在这些顶点上有一个long类型的属性,它对应于1970年UTC(创建顶点的时间戳)的时间(以毫秒为单位).当我拉回那些顶点时,我希望能够以降序顺序将它们拉回来.

如何在Titan Management Systemdecr顺序中为该属性创建索引?

文档似乎含糊不清.

我找到的最近的事情是

public RelationTypeIndex buildPropertyIndex(PropertyKey key, String name, Order sortOrder, PropertyKey... sortKeys)

但是我把钥匙和sortKeys放进去了什么?我希望能够拉出timestamp属性排序的整个顶点

编辑:我知道在一分钟内执行此操作的唯一方法是在边缘复制该属性并使用边缘上的顶点中心索引来提高性能.

database graph gremlin titan

2
推荐指数
1
解决办法
383
查看次数

如何在TinkerPop 3中找到没有传入边的所有顶点?

如何编写遍历使用Gremlin TinkerPop 3来查找没有传入边的所有顶点?

作为后续跟踪,我还需要找到一个没有外边缘的顶点.

gremlin titan tinkerpop

2
推荐指数
1
解决办法
914
查看次数

gremlin中的olap和oltp查询

在gremlin,

  1. s = graph.traversal()

  2. g = graph.traversal(computer())

我知道第一个用于OLTP,第二个用于OLAP.我知道OLAP和OLTP在定义级别上的区别.我对此有以下查询:

如何

  1. 上述查询有何不同?
  2. 我可以使用第二个,在我的应用程序的查询中使用'g'来获得结果(我知道'g'一个给出的结果比第一个更快)?
  3. OLAP和OLTP之间的区别是什么?

提前致谢.

gremlin titan tinkerpop

2
推荐指数
1
解决办法
581
查看次数

如何在Greemlin泰坦图数据库和Java中的valueMap()中同时获取边缘和顶点属性

ts1=graph.addVertex(label,"test","test_id",872)
ts2=graph.addVertex(label,"test","test_id",873)
rj1=graph.addVertex(label,"req","id1",113,"status","S")
rj2=graph.addVertex(label,"req","id1",114,"status","S")
e1=rj1.addEdge("edgeA",ts1,"seq",1)
e2=rj2.addEdge("edgeA",ts2,"seq",2)
Run Code Online (Sandbox Code Playgroud)

我可以在单独的查询中获得以下内容:

g.V().hasLabel("req").has("status","S").outE("edgeA").valueMap()
==>[seq:1]
==>[seq:2]
g.V().hasLabel("job").has("status","S").outE("job_edge").inV().valueMap()
==>[test_id,872]
==>[test_id,873]
Run Code Online (Sandbox Code Playgroud)

如何在单个查询中更新序列和相应的test_id的
问题:

public void readTestbedJob(String tbName){
    GraphTraversalSource traversalSource = getTitanTraversalSource();
    GraphTraversal<Vertex, Map<String, Object>> query1 = traversalSource.V()
                .has("req","id1",113).valueMap();
    GraphTraversal<Vertex, Map<String, Object>> query2 = traversalSource.V().has("status","S").as("a").
            outE("edgeA").as("e").
            inV().as("v").
            select("a","e","v").by(valueMap());
}
Run Code Online (Sandbox Code Playgroud)

从gremlin控制台:query1和query2都正确返回了结果。

但是,我无法直接在java中的query2中使用valueMap()或values(),

GraphTraversal<Vertex, Map<String, Object>> query2 = traversalSource.V().has("status","S").as("a").
            outE("edgeA").as("e").
            inV().as("v").
            select("a","e","v").by(valueMap());
Run Code Online (Sandbox Code Playgroud)

1)当我在上面的查询中直接使用by(valueMap())或by(values())时,出现以下编译错误:未定义的函数valueMap()
2)代替by(valueMap()),by()仅返回顶点ID和边ID。a = v [16576],b = e [2pjpce-6eo-90r9-9ig] [edgeA],c = v [8304]}
您能帮我解决这个问题吗?我无法确定如何在Java中使用by(valueMap())。

cassandra gremlin titan tinkerpop3

2
推荐指数
1
解决办法
1648
查看次数