首先,除了通过节点的 ID 将节点添加到空间之外,没有其他方法。
您可以编写一个 Cypher 查询,使用函数 has(n.Property) 检索所有节点 ID,例如:
// cypher-query to retrieve node Ids
client.Cypher
.Match("(n:SpatialIndex)")
.Where("has(n.lat)")
.AndWhere("has(n.lon)")
.Return(node => node.Id());
// add existing node to SimplePoint-Layer
public void AddNodeToLayer(long nodeId, string layer)
{
string URINode = string.Format("{0}node/{1}",_client.BaseUrl, nodeId);
string json = string.Format("{{\"layer\":\"{0}\", \"node\":\"{1}\"}}", layer, URINode);
string URIAdd = string.Format("{0}ext/SpatialPlugin/graphdb/addNodeToLayer", _client.BaseUrl);
HTTPCommand(new Uri(URIAdd), json);
}
实际上还有另一个 REST 端点:addMultipleNodesToLayer。不过好像还没推。我已经问过这个问题,并希望它很快就会可用。