【问题标题】:How to get a boolean value from Neo4j如何从 Neo4j 获取布尔值
【发布时间】:2020-06-17 13:03:03
【问题描述】:

我正在运行一个查询,我想获得一个简单的布尔值。 问题是将结果转换为布尔值。我知道 result[0] 包含一个键,它是查询的最后一部分,以及一个值数组,其中 bool 是。现在我所需要的就是从 Values 中获取该布尔值。

public async Task<List<IRecord>> GetRecordsAsync(string query)
{
    IDriver _driver = GraphDatabase.Driver("bolt://localhost:7687", AuthTokens.Basic("neo4j", "project"));
    IAsyncSession _session = _driver.AsyncSession(o => o.WithDatabase("neo4j"));
    List<IRecord> records = new List<IRecord>();
    try
    {

        IResultCursor cursor = await _session.RunAsync(query);

        while (await cursor.FetchAsync())
        {
            records.Add(cursor.Current);
        }

        await cursor.ConsumeAsync();
    }
    finally
    {
        await _session.CloseAsync();
    }
    return records;
}
public void GetBool()
{

    string query = "MATCH(p: User { userName: 'something'}), (b: User { userName: 'somethingElse'}) RETURN EXISTS((p)-[:Follows]->(b) )";
    var result = GetRecordsAsync(query).Result;

    var only = result[0];
    bool finalResult=...
}

【问题讨论】:

  • 结果[0] 长什么样?里面有什么?
  • IRecord 列表中的第一个
  • 它有键和值。 Keys 看起来像一个字符串数组,但只有一个值:“EXISTS((p)-[:Follows]->(b) )”。价值观在我看来是一本字典。 Values[0] 中的键与前面提到的键相同。并且值为 true(bool)

标签: c# neo4j


【解决方案1】:

其实我已经想通了。我只需要插入一行:

bool value = only.Values["EXISTS((p)-[:Follows]->(b))"].As();

【讨论】:

    猜你喜欢
    • 2015-11-12
    • 2016-07-08
    • 2012-02-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-12
    • 2019-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多