![](/img/trans.png)
[英]Adding multiple nodes and relationships in one transaction using neo4jclient
[英]adding nodes to spatial layer in c# using REST /neo4jclient
我正在用C#創建一個基於位置的應用程序,並且正在使用neo4j和neo4j空間插件來處理它。 為了與空間插件進行通信,我必須使用其REST API,因為neo4jClient當前不支持它。 現在我想將所有節點(帶有位置數據,即lat,lon)添加到空間層 ,為此我需要所有neo4j節點ID,我的問題是有沒有辦法通過其數據獲取先前插入的節點的節點ID(在這種情況下,是經緯度),還是有更好的方法將節點添加到空間層?
編輯:我還使用neo4jClient進行其他插入和檢索
首先,除了通過節點的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。 但是似乎還沒有推送。 我已經問過這個問題,並希望不久后可以使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.