neo4j :: NeoGraph :: load_json_object
For the expected format, see JsonGraphStore
.
# Retrieve a part of the graph from the specified JSON object.
#
# For the expected format, see `JsonGraphStore`.
fun load_json_object(o: JsonObject) do
var json_nodes = o["nodes"].as(JsonArray)
var nodes = self.nodes
nodes.enlarge(nodes.length)
for json_node in json_nodes do
assert json_node isa JsonObject
var node = new NeoNode.from_json_object(json_node)
nodes.add node
end
var json_edges = o["edges"].as(JsonArray)
var edges = self.edges
if edges isa AbstractArray[NeoEdge] then edges.enlarge(edges.length)
for json_edge in json_edges do
assert json_edge isa JsonObject
var from = nodes[nodes.id_from_jsonable(json_edge["from"])]
var to = nodes[nodes.id_from_jsonable(json_edge["to"])]
var rel_type = json_edge["type"].as(String)
var json_properties = json_edge["properties"].as(JsonObject)
var edge = new NeoEdge(from, rel_type, to)
edge.properties.add_all(json_properties)
edges.add edge
end
end
lib/neo4j/graph/json_graph_store.nit:166,2--192,4