在Swift中执行事务时,如何读取TEO从Neo4j返回的数据?
我在Swift中有一个iOS应用程序,使用Theo与Neo4j数据库集成。我想从数据库中读取数据,因此我正在执行如下事务:在Swift中执行事务时,如何读取TEO从Neo4j返回的数据?,swift,database,neo4j,cypher,Swift,Database,Neo4j,Cypher,我在Swift中有一个iOS应用程序,使用Theo与Neo4j数据库集成。我想从数据库中读取数据,因此我正在执行如下事务: let createStatement = "MATCH (n:`\(labelName)`) RETURN n" let resultDataContents = ["row", "graph"] let statement = ["statement" : createStatement, "resultDataContents" : resultDat
let createStatement = "MATCH (n:`\(labelName)`) RETURN n"
let resultDataContents = ["row", "graph"]
let statement = ["statement" : createStatement, "resultDataContents" :
resultDataContents] as [String : Any]
let statements = [statement]
theo.executeTransaction(statements, completionBlock: {(response, error) in
print("response: \(response)")
})
这是正确执行的,“response”值与数据一起返回,但我不知道如何从中提取所需的关系和属性。这就是每当我打印“响应”值时数据的格式:
[“结果”:(
{
列=(
N
);
数据=(
{
图={
节点=(
{
id=0;
标签=(
“卡尔”
);
属性={
image=“gs://nocan-4a3d8.appspot.com/DGHSA4057-D30B-4FC2-995A-E9GASD12FCFA/-lasdfassisiz7clqhrkak5”;
};
}
);
关系=(
);
};
元=(
{
删除=0;
id=0;
类型=节点;
}
);
行=(
{
image=“gs://nocan-4a3d8.appspot.com/61DA4057-FSA0B-4FC2-995A-E9AF3TAFS2FCFA/-LDOIXIGiZ7cLQASDKaK5”;
}
);
},
{
图={
节点=(
{
id=1;
标签=(
“卡尔”
);
属性={
注=LGAKSDLGKSANKGAS;
};
}
);
关系=(
);
};
元=(
{
删除=0;
id=1;
类型=节点;
}
);
行=(
{
注=LGAKSDLGKSANKGAS;
}
);
},
{
图={
节点=(
{
id=20;
标签=(
“卡尔”
);
属性={
注=Lkwenglkagsd;
};
}
);
关系=(
);
};
元=(
{
删除=0;
id=20;
类型=节点;
}
);
行=(
{
注=Lkwenglkagsd;
}
);
},
{
图={
节点=(
{
id=40;
标签=(
“卡尔”
);
属性={
image=“gs://nocan-4a3d8.appspot.com/5MAFSA4057-D30B-4FC2-995A-2DAKASD412FCFA/-LEOIXQ8MZ4lvOWvlka7”;
};
}
);
关系=(
);
};
元=(
{
删除=0;
id=40;
类型=节点;
}
);
行=(
{
image=“gs://nocan-4a3d8.appspot.com/DGA7A4057-830B-4FC2-995A-E9ADI3DA2FCFA/-WEFDOIX5SMZ4lvOWvlka7”;
}
);
}
);
}
)
“错误”:(
)
]
这到底是什么东西?如何提取所需的数据和值?我只是迷路了。非常感谢您提供的任何帮助或见解。
response
是一本字典([String:Any]
)。就像任何Swift字典一样,你需要什么就拿出什么。你面临着“你得到了你想要的”——问题。您要求一个包含节点(n)的结果集,而这正是您得到的结果集。请注意,Cypher可以返回许多不同的内容,因此结果集必须能够处理所有这些内容。首先尝试使用一些表格结果(例如,将n.image作为imageurl返回)来了解它。
["results": <__NSSingleObjectArrayI 0x60400000f630>(
{
columns = (
n
);
data = (
{
graph = {
nodes = (
{
id = 0;
labels = (
"Carl"
);
properties = {
image = "gs://nocan-4a3d8.appspot.com/DGHSA4057-D30B-4FC2-995A-E9GASD12FCFA/-LASDFASSIGiZ7cLQhRKaK5";
};
}
);
relationships = (
);
};
meta = (
{
deleted = 0;
id = 0;
type = node;
}
);
row = (
{
image = "gs://nocan-4a3d8.appspot.com/61DA4057-FSA0B-4FC2-995A-E9AF3TAFS2FCFA/-LDOIXIGiZ7cLQASDKaK5";
}
);
},
{
graph = {
nodes = (
{
id = 1;
labels = (
"Carl"
);
properties = {
note = Lgaksdlglksankgas;
};
}
);
relationships = (
);
};
meta = (
{
deleted = 0;
id = 1;
type = node;
}
);
row = (
{
note = Lgaksdlglksankgas;
}
);
},
{
graph = {
nodes = (
{
id = 20;
labels = (
"Carl"
);
properties = {
note = Lkwenglkagsd;
};
}
);
relationships = (
);
};
meta = (
{
deleted = 0;
id = 20;
type = node;
}
);
row = (
{
note = Lkwenglkagsd;
}
);
},
{
graph = {
nodes = (
{
id = 40;
labels = (
"Carl"
);
properties = {
image = "gs://nocan-4a3d8.appspot.com/5MAFSA4057-D30B-4FC2-995A-2DAKASD412FCFA/-LEOIXQ8MZ4lvOWvlka7";
};
}
);
relationships = (
);
};
meta = (
{
deleted = 0;
id = 40;
type = node;
}
);
row = (
{
image = "gs://nocan-4a3d8.appspot.com/DGA7A4057-830B-4FC2-995A-E9ADI3DA2FCFA/-WEFDOIX5SMZ4lvOWvlka7";
}
);
}
);
}
)
, "errors": <__NSArray0 0x600000005db0>(
)
]