如何从Neo4j中的Node属性中获取实际字符串



如何在neo 4J中从节点获取未格式化的字符串?我尝试过return str或,return 1。但它总是以数据库样式格式化它。我需要做的是将字符串形式的用户输入与Nodes属性进行比较,但由于格式问题,无法进行比较。在java中,我会使用哪种查询来获取原始字符串或Int?

+-------------+
| str("test") |
+-------------+
| ""test""    |
+-------------+
不要使用resultAsString(),它只是将整个结果格式化为字符串。

相反,提取您感兴趣的列-

String query = "MATCH (n {root:"true"}) return str("test") as strval";
Result result = graphDb.execute(query); 
Iterator<String> strval = result.columnAs("strval");
for (String str : IteratorUtil.asIterable(strval)) {
   System.out.println(str);
}

访问结果的其他方式:http://neo4j.com/docs/stable/tutorials-cypher-java.html和http://neo4j.com/docs/stable/javadocs/org/neo4j/graphdb/Result.html

看起来你做不到。大多数其他类似sql的shell允许使用命令行标志来禁用表输出格式,但neo4j shell不提供此功能。

您显示的输出是专门在Neo4j shell中生成的。就像web查看器有自己的格式一样。在进行编程调用时,文本的格式不是这样的,这就是你无论如何都需要在应用程序中创建查询的方式。

最新更新