【发布时间】: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)