【问题标题】:why neo4j indexing can't find the nodes which I know they exist?为什么 neo4j 索引找不到我知道它们存在的节点?
【发布时间】:2013-10-30 15:59:54
【问题描述】:

我已经通过 localhost:7474 在 neo4j 中创建并索引了我的图形数据库(视觉上)。

节点具有三个属性,名称,优先级,链接。

我通过

在节点的名称属性上创建了索引

添加或删除索引

localhost:7474的tab(如图)

但是当我尝试根据节点名称检索节点时,在数据浏览器、控制台或我的 java 应用程序中找不到节点。

在控制台或数据浏览器中,当我为red编写这个查询时(有一个名为red的节点),例如:

start n=node:name(name="red")
return n; 

我收到returned 0 rows

当我输入这个查询时:

start n=node:node(name="red")
return n;

或者这个:

start n=node:Node(name="red")
return n;

我在控制台或数据浏览器中收到Indexnodedoes not exist,IndexNodedoes not exist

我的数据库文件与 neo4j default.graphdb 文件所在的路径相同(我的意思是在 "C:\Users\fereshteh\Documents\Neo4j" 中),我首先创建了索引,然后创建了图形数据库。

我不知道我做错了什么,请帮助我,我会很感激的。

neo4j 版本:1.9.4

【问题讨论】:

  • 您使用的是哪个版本的 Neo4j?
  • 尼古拉斯该怎么办?

标签: indexing neo4j cypher graph-databases


【解决方案1】:

我相信您关于如何设置索引的假设是不正确的。您可以阅读here 了解更多信息,但基本上创建/读取索引需要三件事。索引名称、条目键和条目值。

您在上面的 Web 控制台中指定的是索引名称,但在密码查询中,您指定的是条目键。您要么想使用Node Auto index,要么在密码中创建一个节点并在那里建立索引,但这不是 1.9.4 中的选项。

【讨论】:

  • 我的索引名称和入口键相同(都是“名称”)(入口键是节点属性之一,即名称),它们不应该相同吗?这是问题吗?我没有得到我的答案,我该怎么办?你的意思是我应该首先将节点传递给我的索引然后搜索它们,我应该通过节点自动索引来做到这一点?你的意思是仅仅在 localhost 中识别一个索引是不够的?我自己应该例如,确定此索引将用于这 10 个节点(通过自动索引、密码或在我的 java 程序中)?然后我从这十个节点中搜索?我是 neo4j 的新手,你能告诉我完全有什么问题吗,请?
  • 你上面给我的链接是关于通过java api创建索引的(我之前看到过),我应该如何处理通过localhost:7474的索引?
  • 你不能,除非你使用自动索引。 Web 控制台没有办法,您正在使用的版本也没有密码。唯一的方法是使用 Java API 或 REST api。
  • 所以有三种索引方式:1.自动索引,2.java api,3.rest api,我对吗?我应该遵循这三种方法之一?那么那个标签是什么localhost:7474?你知道neo4j的文档真的很差,解释了这些方法,但没有给出一个完整的模式。
  • 是的,Web 控制台中的选项卡只是用来显示/创建它们,但它提供的功能不多。
猜你喜欢
  • 2012-09-26
  • 2011-03-07
  • 2015-09-07
  • 1970-01-01
  • 2023-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-07
相关资源
最近更新 更多