我有一个执行Cypher查询的方法,我希望返回所有节点及其与查询中指定节点(64)有关系的名称:
start n = node(64) match (n)--(x) return x.Name;
Run Code Online (Sandbox Code Playgroud)
现在,当我尝试在我的代码中执行此操作时,它不想工作.这是我的方法:
public string GetAllFirstLevelRelatives(long NodeId)
{
string QueryResult = null;
try
{
var query = client_connection
.Cypher
.Start(NodeId, client_connection.RootNode)
.Match(NodeId, "--(x)")
.Return<Node<GraphNode>>("(x).name");
QueryResult = query.Results.ToString();
}
catch (Exception e)
{
}
return QueryResult;
}
Run Code Online (Sandbox Code Playgroud)
我想这个查询返回名称.
有人可以帮帮我吗?
我需要编写一个密码查询,找到一个在给定的4个节点之间不超过3条边的未知节点.
例如:我有节点A,B,C,D
我需要找到一个与所有给定节点(A,B,C,D)的距离不超过3个边连接的节点
我会感激一些帮助.
谢谢
阿龙
我想在neo4j cypher查询的select/return语句中返回一个布尔值true | false,而不是返回该关系.
例如
START me = node:node_auto_index(Uname="test")
MATCH me-[f?:Favorite]->items
return items.Title, f as isFavorite;
Run Code Online (Sandbox Code Playgroud)
怎么办isFavorite作为一个bool而不是整个关系对象返回?有没有isExists()函数?
我应该这样做:
return count(f) > 0 as isFavorite
Run Code Online (Sandbox Code Playgroud)
注意:我删除了neo4jclient问题,因为这是一个更加简单的问题,实际上比另一个问题更为通用.
构建一个强调社交网络的音乐应用程序 - 假设有大约10-15个节点(用户,艺术家,歌曲等).用PHP编写,将使用Neo4J的REST API.
对于1K或10K或100k或1M用户......
neo4j是否能够在提供静态数据(redis前端)方面同样替换mysql和preform?写入怎么样(例如用户编辑配置文件)?
我最初考虑使用MySQL和Neo4j.一些谷歌搜索指出灵活性较低,维护较多.其他人说"像魅力一样".思考?
谢谢.
我希望我的查询返回这样的内容:
n.property1? OR n.property2? as columnName
Run Code Online (Sandbox Code Playgroud)
用例是我在一个查询中返回两个不同的节点原型,一个节点类型没有property2而另一个没有property1,但实现了相同的目的,我需要它们在相同的列名下返回.(例如,如果一个人只能输入家庭电话号码(n.home)或手机号码(n.cell),但您希望它作为电话返回(n.home?或n.cell?作为电话) ).)
有没有办法实现这个目标?
我在eclipse中运行这个java代码时遇到以下错误.
Exception in thread "main" java.lang.Error: Unresolved compilation problems: Resource specification not allowed here for source level below 1.7 The type Transaction is not visible tx cannot be resolved
at neo4jTesting.EmbeddedNeo4j.createDb(EmbeddedNeo4j.java:52) at neo4jTesting.EmbeddedNeo4j.main(EmbeddedNeo4j.java:38)
Run Code Online (Sandbox Code Playgroud)
这是代码
import java.io.File; import java.io.IOException; import org.neo4j.graphdb.Direction; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.graphdb.Node; import org.neo4j.graphdb.Relationship; import org.neo4j.graphdb.RelationshipType; import org.neo4j.graphdb.Transaction; import org.neo4j.graphdb.factory.GraphDatabaseFactory; import org.neo4j.kernel.impl.util.FileUtils;
public class EmbeddedNeo4j {
private static final String DB_PATH = "target/neo4j-hello-db";
public String greeting;
// START SNIPPET: vars
GraphDatabaseService graphDb;
Node firstNode;
Node secondNode;
Relationship relationship; …Run Code Online (Sandbox Code Playgroud) 我开始使用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)
知道我怎么能做到这一点?
提前致谢.
我有一个看起来像的图表
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的新手,我只是在玩它并习惯它.
我有一个标签为User的现有Node 和一个设置为daniel的属性名称.现在我想创建一个具有发送关系的新节点消息.
MATCH (u:User)
WHERE u.name = 'daniel'
CREATE (m:Message {text = 'hallo welt'} )-[:Send]-(u)
Run Code Online (Sandbox Code Playgroud)
但是Neo4J-Browser只返回"未知错误".有人能指出这个陈述有什么问题吗?
我有一个关于从Neo4j中的数组值属性中提取特定元素的问题.例如,如果out数据库中的节点都具有属性'Scores',则Scores是长度为4的整数数组.有没有办法提取路径中每个节点的第一个和第四个元素,即我们可以沿着线 -
start src=node(1), end =node(7)
match path=src-[*..2]-end
return extract(n in nodes(path)| n.Scores[1], n.Scores[4]);
Run Code Online (Sandbox Code Playgroud)
ps我正在使用Neo4j 2.0.0-RC1