我有下面的联盟
节点实体
@NodeEntity
class League
{
private Date startDate;
}
我想返回最近的联赛,下面的密码在从shell执行时工作正常
START n=node(*) WHERE has(n.__type__) and n.__type__='com.aravind.avl.domain.League' RETURN n ORDER BY n.startDate ASC LIMIT 1
我将其移动到存储库,如下所示
public interface LeagueRepository extends GraphRepository<League>
{
@Query ("START n=node(*) RETURN n ORDER BY n.startDate DESC LIMIT 1")
League findCurrentLeague();
}
它给我下面的错误。我相信我们在使用存储库时不需要提供spring-data-neo4j实现细节,如__type__
。想知道如何在不暴露spring-data-neo4j实现细节的情况下正确地在存储库中编写查询?
六月
@Test
public void findCurrentLeague() throws ParseException
{
SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
League l1 = new League();
l1.setStartDate(df.parse("01/03/2013"));
l1.setEndDate(new Date());
l1.setName("in year 2013");
League l2 = new League();
l2.setStartDate(df.parse("01/03/2001"));
l2.setEndDate(df.parse("01/10/2001"));
l2.setName("in year 2001");
repo.save(l1);
repo.save(l2);
League currentLeague = repo.findCurrentLeague();
assertNotNull(currentLeague);
assertEquals("in year 2013", currentLeague.getName());
}
错误
Caused by: org.springframework.dao.InvalidDataAccessResourceUsageException: Error executing statement START n=node(*) RETURN n ORDER BY n.startDate DESC LIMIT 1; nested exception is org.neo4j.cypher.EntityNotFoundException: The property 'startDate' does not exist on Node[0]
at org.springframework.data.neo4j.support.query.CypherQueryEngine.parseAndExecuteQuery(CypherQueryEngine.java:63)
at org.springframework.data.neo4j.support.query.CypherQueryEngine.query(CypherQueryEngine.java:49)
... 39 more
Caused by: org.neo4j.cypher.EntityNotFoundException: The property 'startDate' does not exist on Node[0]
at org.neo4j.cypher.internal.commands.expressions.Property.apply(Property.scala:35)
at org.neo4j.cypher.internal.commands.expressions.Property.apply(Property.scala:29)
at org.neo4j.cypher.internal.pipes.ExtractPipe$$anonfun$createResults$1$$anonfun$apply$1.apply(ExtractPipe.scala:37)
at org.neo4j.cypher.internal.pipes.ExtractPipe$$anonfun$createResults$1$$anonfun$apply$1.apply(ExtractPipe.scala:35)
at scala.collection.immutable.Map$Map1.foreach(Map.scala:118)
at org.neo4j.cypher.internal.pipes.ExtractPipe$$anonfun$createResults$1.apply(ExtractPipe.scala:35)
at org.neo4j.cypher.internal.pipes.ExtractPipe$$anonfun$createResults$1.apply(ExtractPipe.scala:34)
at scala.collection.Iterator$$anon$19.next(Iterator.scala:335)
at org.neo4j.cypher.internal.pipes.TopPipe.createResults(TopPipe.scala:45)
at org.neo4j.cypher.internal.pipes.ColumnFilterPipe.createResults(ColumnFilterPipe.scala:37)
at org.neo4j.cypher.internal.executionplan.ExecutionPlanImpl$$anonfun$6.apply(ExecutionPlanImpl.scala:127)
at org.neo4j.cypher.internal.executionplan.ExecutionPlanImpl$$anonfun$6.apply(ExecutionPlanImpl.scala:125)
at org.neo4j.cypher.internal.executionplan.ExecutionPlanImpl.execute(ExecutionPlanImpl.scala:33)
at org.neo4j.cypher.ExecutionEngine.execute(ExecutionEngine.scala:59)
at org.neo4j.cypher.ExecutionEngine.execute(ExecutionEngine.scala:63)
at org.neo4j.cypher.javacompat.ExecutionEngine.execute(ExecutionEngine.java:79)
at org.springframework.data.neo4j.support.query.CypherQueryEngine.parseAndExecuteQuery(CypherQueryEngine.java:61)
... 40 more
Caused by: org.neo4j.graphdb.NotFoundException: 'startDate' property not found for NodeImpl#0.
是否在每个节点上都有startDate属性?异常表明:
Caused by: org.neo4j.cypher.EntityNotFoundException: The property 'startDate' does not exist on Node[0]
at org.neo4j.cypher.internal.commands.expressions.Property.apply(Property.scala:35)
它似乎在抱怨引用节点。
由于您使用节点(*)在所有节点上启动,因此它可能会拾取引用节点。如果不需要它,则可以将其删除,或者,如果所有节点上都没有startDate,则可以将查询修改为:
START n=node(*) RETURN n ORDER BY n.startDate? DESC LIMIT 1
此外,SDN实体如果包含索引属性,则应该有这些属性的索引,让您以这些节点为目标:
START n=node:League("name:*") RETURN n ORDER BY n.startDate? DESC LIMIT 1
HTH公司
本文向大家介绍SpringBoot发现最新版Druid重大问题(坑),包括了SpringBoot发现最新版Druid重大问题(坑)的使用技巧和注意事项,需要的朋友参考一下 发现Druid问题 最近做项目,遇到大量插入的地方,经过大量的调试,最终发现是Druid连接池的问题,(以前一个大项目就遇到过Druid的坑),果断换成c3p0之后,压力测试哗哗上去了。 下面是更换c3p0方法。 1.修改pom
但没有成功。 我用的是3.0版。*Neo4j,Cypher 3.0,Ubuntu 4.14服务器。
我正在使用直接通过管道传输到neo4j-shell中的密码命令加载一个Neo4j数据库。一些实验表明,大约1000行的子图批给出了最佳吞吐量(大约3.2ms/行,300行/秒(慢!),Neo4j 2.0.1)。我使用MATCH语句将现有节点绑定到加载子图。下面是一个截断的例子:
问题内容: 我有一个问题,我通过沿行轴串联(垂直堆叠)来生成熊猫数据框。 每个组成数据帧都有一个自动生成的索引(升序编号)。 串联后,我的索引被搞砸了:它的计数最多为n(其中n是相应数据帧的shape [0]),并在下一个数据帧从零重新开始。 我正在尝试“根据给定的当前顺序重新计算索引”或“重新索引”(或者我认为)。事实证明,这似乎并没有在做。 这是我尝试做的事情: 它失败并显示“无法从重复的轴重
docker pull 这个命令 我当时想的是拉取最新版本的镜像 结果发现tag是latest 但是版本不是最新的 dockerhub库中有最新的 这是不是说明我的docker拉取的仓库不对啊 怎么修改 或配置 我配置了阿里加速 下面是配置的阿里的
我需要设置一个节点的特定属性作为该节点的显示名称。 我正在从下面的列表中选择指定属性(箭头指向的位置),作为节点和关系的显示。 我也想通过密码来做同样的事情。 对于这个n,我想设置ip作为显示名称。