Neo4jclient简单代码返回一个节点不工作

时间:2013-12-29 15:47:23

标签: c# neo4j cypher neo4jclient

这是我第一次在这里发帖,所以如果这是错误的地方/格式/等,我道歉。

我是C#和neo4j的新手,我无法正确掌握基础知识。我已经浏览了neo4jClient Git Wiki,但我仍遇到问题。我想写代码只是找到一个节点并显示它的一些信息,但我似乎无法让它工作。 Visual Studio没有给我任何错误消息,代码似乎没有工作,因为它没有返回任何名称值,计数器仍然是0.这是代码:

using Neo4jClient;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Neo4jtest
{
    class Program
    {


    static void Main(string[] args)
        {
           Console.WriteLine("Hello World");
           var client = new GraphClient(new Uri("http://localhost:7474/db/data"));
           client.Connect();

           var tomQuery = client.Cypher
               .Match("(tom:Person)")
               .Where((Person tom) => tom.Name == "Tom Cruise")
               .Return(tom => tom.As<Person>());

           var peopleNamedTomCruise = tomQuery.Results;

           int counter = 0;
           foreach (Person value in peopleNamedTomCruise)
           {
               Console.WriteLine(value.Name);
               counter++;
           }

           Console.WriteLine(counter.ToString());   
    }

    public class Person
            {
                public string Name {get; set;}
                public int Born { get; set; }
            }
    }
}

至于数据,我正在使用Neo4j“The Movie Graph”练习中的样本数据。

非常感谢任何和所有帮助!

1 个答案:

答案 0 :(得分:3)

Neo4j中的属性名称区分大小写。

电影示例使用小写名称,如name

您已使用POCO遵循C#约定并使用Name

这将导致WHERE子句不返回匹配项。