Closed
Description
Aspects
- Nodes form a graph -> several pointers to the same node
- Because of partial loading, we might have dangling pointers -> target might not be loaded
Detailed discussions
- Repo API: Node IDs #31 TODO
- Repo API: Node representation #33
- Repo API: Property value encondings #34
- Repo API: Represent dangling pointers #35
- Repo API: Store additional resolve info? #36
Format
All nodes are repesented by a flat list.
All links to other nodes (both containment and reference) are represented by their id.
Each node has the following fields:
id
: The id of the nodeconcept
: Refers to the id of the type of the nodeproperties
: Map with- key: id of the property
- value: string value of the property
children
: Map with- key: id of the containment link
- value: id of the contained node
references
: Map with- key: id of the reference link
- value: List of Maps with
reference
: id of the referenced node, ornull
if id of the referenced node is not availableresolveInfo
: resolve info as string, ornull
if no resolve info is available
parent
: id of parent node
Example
Similar to example in #36, but using property/link ids
{
"serializationFormatVersion": "1",
"nodes": [
{
"id": "11",
"concept": "1000_1001",
"parent": "abc",
"properties": {
},
"children": {},
"references": {
"1000_1001-3001": [
{
"reference": "23",
"resolveInfo": "Lassie"
},
],
"1000_1001-3002": [
{
"reference": "19",
"resolveInfo": "Main street 23, 123 FarFarAway"
}
],
"1000_10-01": [
{
"reference": "342",
"resolveInfo": null
}
]
}
},
{
"id": "99",
"concept": "1000_1002",
"parent": "abc",
"properties": {
"1000_1002-1001": "Lassie"
},
"children": {},
"references": []
},
{
"id": "19",
"concept": "2000_addr",
"parent": "def",
"properties": {
"addr_com-example-3": "Main street",
"addr_com-example-2": "23",
"addr_com-example-0": "123",
"addr_com-example-1": "FarFarAway"
},
"children": {},
"references": []
},
{
"id": "342",
"concept": "internal_TechnicalPermission",
"parent": "internal_permissionStore"
"properties": {
"internal_TechnicalPermission_data": "ICAgIHsKICAgICAgImlkIjogIjM0MiIsCiAgICAgICJ0eXBlIjogIlRlY2huaWNhbFBlcm1pc3Npb24iLAogICAgfQo="
},
"children": {},
"references": []
}
]
}