标签: graph-databases

使用 NEO4j 显示具有多个关系的节点

我使用以下代码创建了一个图表。我如何不仅返回节点,还返回每个用户连接到多个视频的时间和地点以及每个视频连接到多个用户的关系?

CREATE CONSTRAINT ON (u:User) ASSERT u.user IS UNIQUE;
CREATE CONSTRAINT ON (v:Video) ASSERT v.video IS UNIQUE;

USING PERIODIC COMMIT 100000
LOAD CSV WITH HEADERS FROM 'asdfjkl;' AS line
WITH distinct line.user as user_data
MERGE (:User {user: user_data });

USING PERIODIC COMMIT 100000
LOAD CSV WITH HEADERS FROM 'asdfjkl;' AS line
WITH distinct line.video as video_data
MERGE (:Video {video: video_data });

USING PERIODIC COMMIT 100000
LOAD CSV WITH HEADERS FROM 'asdfjkl;' AS line
MATCH (u:User {user: line.user })
MATCH (v:Video …
Run Code Online (Sandbox Code Playgroud)

relationship nodes neo4j graph-databases cypher

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

neo4j:如何从路径仅返回特定属性

我匹配某些路径,并且希望返回该路径。但我不需要整个节点,我只需要它们的 ID。我试过:

match path = 
return path {id}
Run Code Online (Sandbox Code Playgroud)

但我收到语法错误

neo4j graph-databases cypher

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

如何从java获取Neo4j图形数据库的节点数,我们可以从磁盘存储和重用graphdb吗?

我刚开始看neo4j将它用于我的社交网络相关项目.在此期间,我遇到了以下代码:

https://github.com/neo4j/neo4j/blob/1.9.M04/community/embedded-examples/src/main/java/org/neo4j/examples/EmbeddedNeo4jWithIndexing.java
Run Code Online (Sandbox Code Playgroud)

通过它(请参阅上面的代码链接),我很难知道如何获得添加到给定的节点总数graphDb.有没有办法找到它(节点的总数)使用graphDbnodeIndexreferenceIndex其他任何东西?如果是,怎么样?

我还需要帮助才能知道如何将graphdb存储到磁盘上的任何给定路径?如何加载这个存储的graphdb并对其执行操作,如搜索节点/关系等?

(DB_PATH当执行上面的代码时,有几个文件,比如*.db,*.id,*.keys等.在这些文件中有用的是什么?这些文件是否包含创建的节点?如果是,如何我们可以使用它们吗?)

我们如何graphDb从诸如Dashboard at http://localhost:7474/webadmin/或数据的Web界面访问它http://localhost:7474/db/data/

如果您需要任何具体信息,请告知我们.

谢谢,Nitin.

java social-networking neo4j graph-databases

0
推荐指数
1
解决办法
2387
查看次数

如何使用Cypher检查元素是否在node.collection中?

我开始使用Neo4j/Cypher,我有一些包含属性的节点,这是一个整数数组.我想检查给定数字是否在节点的集合中,如果是,请将此节点附加到结果中.我的查询如下所示:

MATCH (a) WHERE has(a.user_ids) and (13 IN a.user_ids) RETURN a
Run Code Online (Sandbox Code Playgroud)

其中13是给定的user_id.它会引发语法错误:

Type mismatch: a already defined with conflicting type Node (expected Collection<Any>)
Run Code Online (Sandbox Code Playgroud)

知道我怎么能做到这一点?

提前致谢.

neo4j graph-databases cypher

0
推荐指数
1
解决办法
4319
查看次数

Gremlin再次使用管道输出作为输入

我有一个看起来像的图表

a --father_of--> 1 --wife_of--> b --father_of-->2 --wife_of--> c --father_of--> 3--wife_of--> d --father_of --> 5--wife_of-->e
Run Code Online (Sandbox Code Playgroud)

我想写一个查询,它给了我从树开始的所有父亲

我可以写一个级别

g.V('name','a').out(father_of).out(wife_of) 这给了b

如何编写一个递归查询,将b作为管道的输入,以便查询给出节点b,c,d和e.

neo4j graph-databases gremlin titan tinkerpop

0
推荐指数
1
解决办法
128
查看次数

OrientDb中顶点的出边存在/不存在

我在 SO 上看到了一些类似的问题,但没有一个答案对我有用,所以我希望得到一个新的答案,这些新功能自从其他问题被问到后,已添加到 OrientDb 的最新版本中。

我正在尝试查询所有具有特定类型的传出边缘但没有其他类型的传出边缘的顶点。

作为一个简单关系的例子

人 ---- 朋友 ---> 人

人 ---- 拥有 ---> 汽车

我试图找到所有有朋友但没有汽车的人。

我已经尝试了以下查询,但没有运气(它返回所有人,而不管这些顶点是否具有特定类型的传出边缘)

select from Person where (out('Friend') not null and out('Owns').size() = 0)
select from Person where (out('Friend') is not null and out('Owns') is null)
Run Code Online (Sandbox Code Playgroud)

在我的努力中,我意识到按照此页面的 WHERE 子句中的 OrientDb 尚不支持 NOT 查询:https : //github.com/orientechnologies/orientdb/wiki/SQL-Where 有人可以验证这是否确实如此.

无论如何,我继续并试图简化我的查询并试图只找到没有“Owns”传出边缘的顶点。即使这样也不起作用,因为它似乎返回了我图中的所有 Person 顶点:

select from Person where (out('Owns').size() = 0)
select from Person where (out('Owns') is null)
Run Code Online (Sandbox Code Playgroud)

不确定我缺少什么,但任何帮助都一如既往地受到高度赞赏。

graph-databases orientdb

0
推荐指数
1
解决办法
1045
查看次数

Neo4j:需要澄清Neo4j的数据大小

在Neo4j中,数据大小如下.这里

Neo4j的数据大小

  • 节点:235(?340亿)
  • 关系:235(约340亿)
  • 属性:236到238取决于属性类型(最大?274亿,总是至少?680亿)
  • 关系类型:215(?32 000)

我是图表数据库的新手,我需要了解有关这些值的更多说明.

  1. "关系34亿"是指整个数据库中的整个关系还是每个节点的关系?
  2. "属性274亿"是指整个数据库中的整个属性还是每个节点的属性?
  3. "关系类型32 000"表示整个数据库中的整个关系类型或每个节点的关系类型?

mysql sql database-design neo4j graph-databases

0
推荐指数
1
解决办法
152
查看次数

针对Titan db的嵌套遍历gremlin查询

我想知道如何有一个以嵌套格式返回结果的gremlin查询.假设有如下属性图:

USERPAGE一些特性,如顶点AGEUSER顶点;

FOLLOW边缘USERPAGE;

我正在寻找一个单一的高效查询,它为所有年龄大于20岁的用户提供所有跟随的用户.我可以使用来自应用程序端的简单循环来执行该操作,并且每次迭代使用简单的遍历查询.不幸的是,这样的解决方案对我来说效率不高,因为它会产生大量查询,并且在这种情况下网络延迟可能很大.

graph-databases gremlin titan tinkerpop3

0
推荐指数
1
解决办法
627
查看次数

如何在Blazegraph中导入和查询4列N-Quad四元组?

我对RDF/SPARQL比较陌生,我正试图将一些N-Quad,4列/四列数据导入并查询到Blazegraph(参见schemaOrgEvent.sample.txt).

当我导入Quads数据(Web控制台)时,我只剩下基于三元组的3列元组数据,即Blazegraph只允许SPARQL查询选择{?s?p?o},但是四重选择{?s? p?o?c},不要.我究竟做错了什么???

Blazegraph可以原生存储4列Quad数据,还是我误解了RDF/Triple/Quad存储的性质?

此外,导入的四元数据以及三元组(标准化???)似乎将第1列转换为另一列,Blazegraph提供的(?),标识符,原始(Quad)数据格式为(4列)

_:node03f536f724c9d62eb9acac3ef91faa9 <http://schema.org/PostalAddress/addressRegion> "Kentucky"@en <http://concerts.eventful.com/Lauren-Alaina> .
Run Code Online (Sandbox Code Playgroud)

导入后(3列):

t1702   schema:PostalAddress/addressRegion  Kentucky
Run Code Online (Sandbox Code Playgroud)

谁的查询是:

SELECT * WHERE
{
    ?s ?p ?o
    #?s ?p ?o ?c - Won't work :-(
    FILTER(STR(?o)="Kentucky")
}
Run Code Online (Sandbox Code Playgroud)

值't1702'是各种各样的'外键',可用于链接到其他三元组(即在导入日期内重复).

rdf sparql triplestore graph-databases blazegraph

0
推荐指数
1
解决办法
402
查看次数

如何"连接"顶点及其边数作为JanusGraph或Gremlin中这些顶点的"属性"?

我需要返回'posts'顶点,但这些帖子有一些'like'边缘,我怎样才能将该帖子的'likes'边缘的数量作为该边缘的属性返回,如下所示:

{title:'lorem ipsum .....',内容:'yadayadayada', 喜欢:6 <----}

graph-databases gremlin titan janusgraph

0
推荐指数
1
解决办法
361
查看次数