标签: neo4j

在Neo4jClient .NET中检索所有相关节点,Cypher查询

我有一个执行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)

我想这个查询返回名称.

有人可以帮帮我吗?

neo4j cypher neo4jclient

0
推荐指数
1
解决办法
1657
查看次数

Neo4j - 复杂的Cypher查询

我需要编写一个密码查询,找到一个在给定的4个节点之间不超过3条边的未知节点.

例如:我有节点A,B,C,D

我需要找到一个与所有给定节点(A,B,C,D)的距离不超过3个边连接的节点

我会感激一些帮助.

谢谢

阿龙

neo4j

0
推荐指数
1
解决办法
727
查看次数

如何在cypher返回投影中返回布尔值而不是关系

我想在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问题,因为这是一个更加简单的问题,实际上比另一个问题更为通用.

neo4j cypher

0
推荐指数
1
解决办法
2063
查看次数

(Neo4J或mysql)和redis - 社交网络

构建一个强调社交网络的音乐应用程序 - 假设有大约10-15个节点(用户,艺术家,歌曲等).用PHP编写,将使用Neo4J的REST API.

对于1K或10K或100k或1M用户......

neo4j是否能够在提供静态数据(redis前端)方面同样替换mysql和preform?写入怎么样(例如用户编辑配置文件)?

我最初考虑使用MySQL和Neo4j.一些谷歌搜索指出灵活性较低,维护较多.其他人说"像魅力一样".思考?

谢谢.

mysql social-networking neo4j redis

0
推荐指数
1
解决办法
1838
查看次数

如何在Cypher中返回一个属性或另一个属性?

我希望我的查询返回这样的内容:

n.property1? OR n.property2? as columnName
Run Code Online (Sandbox Code Playgroud)

用例是我在一个查询中返回两个不同的节点原型,一个节点类型没有property2而另一个没有property1,但实现了相同的目的,我需要它们在相同的列名下返回.(例如,如果一个人只能输入家庭电话号码(n.home)或手机号码(n.cell),但您希望它作为电话返回(n.home?或n.cell?作为电话) ).)

有没有办法实现这个目标?

neo4j cypher

0
推荐指数
1
解决办法
128
查看次数

资源规范不允许出错

我在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)

java neo4j

0
推荐指数
1
解决办法
2929
查看次数

如何使用Cypher检查元素是否在node.collection中?

我开始使用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)

知道我怎么能做到这一点?

提前致谢.

neo4j graph-databases cypher

0
推荐指数
1
解决办法
4319
查看次数

Gremlin再次使用管道输出作为输入

我有一个看起来像的图表

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 graph-databases gremlin titan tinkerpop

0
推荐指数
1
解决办法
128
查看次数

创建与现有节点关系的新节点

我是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

0
推荐指数
1
解决办法
2285
查看次数

cypher查询从属性数组中提取元素

我有一个关于从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

neo4j cypher

0
推荐指数
1
解决办法
1588
查看次数