//b64String is dlData but in base64
let decodedData = Data(base64Encoded: b64String)! //works
if let unarchivedDictionary = NSKeyedUnarchiver.unarchiveObject(with: decodedData) as? Dictionary<String, Any> { //works
if let dF = unarchivedDictionary["C"] as? String { //works
print(dF) //prints
if let data = dF.data(using: .utf8, allowLossyConversion: true) { //fails
print(data)
} else {
print("NO DATA") //prints
}
}
}
现在,让我们尝试将相同的图形元素作为路径返回:
CREATE(:ENTRY {name:"alpha"})-[:REL]->(:ENTRY {name:"beta"})<-[:REL]-(:ENTRY {name:"gamma"})
我们将在“表格”视图中看到两个“ beta”:
{ “名称”:“测试版” } ,
{ “名称”:“测试版” }
但是为什么?
答案 0 :(得分:0)
假设您是从一个空的数据库开始的,那么这可能只是对返回路径时表格结果中显示的内容有些困惑。
您将看到一个表示连接节点的关系的表示,每个关系表示均由3部分组成:起始节点(根据路径顺序,相对于关系方向,不必是起始节点),关系的属性,然后是结束节点。
所以要分解它:
rel1数据,rel2数据
翻译为:
rel1开始,rel1属性,rel1结束,rel2开始,rel2属性,rel2结束
翻译为:
alpha节点道具,rel1道具,beta节点道具,beta节点道具,rel2道具,gamma节点道具
模式中关系的属性为空,这说明了空的映射。请注意,对于关系链,上一个关系结束时的节点与下一个关系开始时的节点相同。这就是为什么您看到beta出现两次的原因: