下面是我的上下文的概念示例:
我有一个抽象类,名为:User
(包含一个id
属性为String)
我有一个User
子类,名为:FacebookUser
我有一个User
子类,名为:>Twitter用户
使用Spring-Data-Neo4j,我将User
a@NodeEntity
。
我创建了一个测试类,以便在图中插入一个facebook用户
和一个twitter用户
<整口井都发生了=
现在,我想进行这种密码查询:
检索id=123的用户
因此,我必须找到更有效的方法来检查所有用户节点(FacebookUser和TwitterUser的联合),以便找到唯一的对应记录。
我希望找到一种方法告诉cypher类似的事情:
获取每个索引匹配facebook用户
,每个索引匹配twitter用户
,并检查其中的预期节点
但我没有成功。
我当前的查询是working:
@Query("start u=node(*) where has(u.__type__) and u.__type__ =~ '.*User' and has(u.id) and u.id = {0} return u")
这一个翻译成:
检查图中的所有节点(我想,根本没有效率),然后保留以“User”结尾的节点(包括facebook用户和TwitterUser),并检查是否有正确的id
在这种情况下,有没有办法只使用索引节点,而不是扫描整个图?
我正在考虑一种方法,将_type_uu属性重命名为父类的完整限定名。
我们能用SDN轻松地做到这一点吗?
事实上,由于SDN似乎使用与节点关联的Java类名作为节点的索引名称,因此它将只允许处理Facebook和Twitter子类型的一个索引节点:用户索引节点。
如果在类上使用@index,则应该获得TwitterUser等索引,然后可以在查询中使用这些索引。但是,继承方法也有局限性,请参阅Spring数据Neo4j-索引和继承以获取相关讨论。
我正在尝试查找一个查询唯一的名称列表,并排除两个查询结果之间的共同名称。例如,我想要学生A、B和C所选课程的名称,并从该列表中排除学生D和E所选的课程。在这个问题的答案的帮助下(Neo4j Cypher:从结果中排除某些节点),我尝试了这个密码代码,它是有效的,但我得到的结果是节点。我希望它是一个名称列表,而不是节点。 非常感谢。
使用neo4j 1.9。2,我试图在我的图中找到所有与另一个节点有一对一关系的节点。假设我的图表中有人,我想找到所有人,他们只有一个朋友(自2013年以来),而这一个朋友只有另一个人作为朋友,没有其他人。作为回报,我希望有所有这些“孤立”的朋友对。 我尝试了以下方法: 但是这个查询并不是它应该做什么——它只是不返回任何内容。 注:两人之间只有一种关系。因此,一个朋友有一个新的关系,另一个是一个外向
我有以下课程: 我正在尝试实现一种方法: 这将检查是否是的祖先(任何深度,直到根)。 我需要一个密码查询。
问题内容: 我有一个数据库,正在运行以下查询: 上面的查询一次返回两个结果集,我不能分别触发两个查询。如何在Java类中一次处理两个结果集? 问题答案: 正确的代码来处理JDBC语句返回的多个: 重要位: 并返回以表明语句的结果只是一个数字,而不是一个。 您需要检查以了解是否还有更多结果。 确保关闭结果集或使用
假设我们有下面的Neo4j模式(简化了,但它显示了重要的一点)。有两种类型的节点和<代码>版本s通过关系的s可以通过关系连接。同样,这些关系有两个属性和,表示有效时间跨度-其中一个或两个可以(在Neo4j术语中不存在)表示无限。 编辑:节点和关系的有效性日期是独立的(尽管示例巧合地显示它们是对齐的)。 该示例显示了两个
我有一个CSV数据集,我试图通过它在数据库中已经存在的两个节点类型(和)之间建立关系。 这是数据库信息- 问题是--无论我尝试哪个密码查询,它们都返回相同的东西--“无更改,无行”。 此查询只返回“no rows”。 我还尝试了该查询的一个变体,其中我没有使用函数,但这并没有什么不同。 为了确保节点存在,我从CSV文件中选择了随机单元格值,并使用子句来确保数据库中存在相应的和节点,并且找到了所有节