Skip to main content
Version: v4.5

Path building

Building a path of hops between related items#

In the following use case example of related items in separate collections for a HVAC system, you can query the nodes up to the end of the path you construct in your request.

Note: In the following example, there are two paths because the related items in each collection share the same _relatedUserType name value.

image

Sample request

{  "$findWithRelatedGraph": {    "start": {      "collectionDesc": {        "_userItemId": "systems_zEfhiXo4wE"      },      "query": {        "_id": "61d2c4fddd6a323c1aee8914"      },      "options": {        "page": {},        "project": {          "_id": 1,          "System Name": 1        }      }    },    "to": {      "segments": [        {          "relatedDesc": {            "_relatedUserType": "iaf_ext_sysel_coll"          },          "as": "sys_elem",          "options": {            "project": {              "System Element Name": 1            }          }        },        {          "from": "sys_elem",          "relatedDesc": {            "_relatedUserType": "rvt_elements"          },          "as": "model_elem"        },        {          "from": "model_elem",          "relatedDesc": {            "_relatedUserType": "rvt_element_props"          },          "options": {            "project": {              "properties": 1            }          },          "as": "model_elem_props"        }      ],      "as": "paths",      "response": "path",      "options": {        "page": {          "_offset": 0        }      }    }  }}

Sample response

{  "_list": [    {      //The collection that contains the start node      "_uri": "/nameduseritems/61d2c4fcdd6a323c1aee890c",      "_name": "systems",      "_userType": "iaf_ext_sys_coll",      "_tipId": "61d2c4fcdd6a323c1aee890d",      "_versions": [ //The collection versions        {          //start node collection tip version          "_userItemDbId": "61d2c4fcdd6a323c1aee890c",          "_relatedItems": {            "_pageSize": 1,            "_list": [              {                "paths": {                  "_pageSize": 2,                  "_list": [                    //first path                    {                      //first hop                      "_userItemId": "system-elements_TEYZX2iPTz",                      "_userItemVersionId": "61d2c4fcdd6a323c1aee890f",                      "_id": "61d2c4fddd6a323c1aee8915",                      "_version": 1,                      "child": { //second hop                        "_userItemId": "1801ks-inv-_ba_elem_gKARtcrV3q",                        "_userItemVersionId": "61d2c4fcdd6a323c1aee8911",                        "_id": "61d2c4fddd6a323c1aee891a",                        "_version": 1,                        "child": { //third hop                          "_userItemId": "1801ks-inv-_elprops_i15EmQgrzu",                          "_userItemVersionId": "61d2c4fcdd6a323c1aee8913",                          "_id": "61d2c4fedd6a323c1aee8920",                          "_version": 1                        }                      }                    },                    //second path                    {                      "_userItemId": "system-elements_TEYZX2iPTz",                      "_userItemVersionId": "61d2c4fcdd6a323c1aee890f",                      "_id": "61d2c4fddd6a323c1aee8916",                      "_version": 1,                      "child": { //second hop                        "_userItemId": "1801ks-inv-_ba_elem_gKARtcrV3q",                        "_userItemVersionId": "61d2c4fcdd6a323c1aee8911",                        "_id": "61d2c4fddd6a323c1aee891b",                        "_version": 1,                        "child": { //third hop                          "_userItemId": "1801ks-inv-_elprops_i15EmQgrzu",                          "_userItemVersionId": "61d2c4fcdd6a323c1aee8913",                          "_id": "61d2c4fedd6a323c1aee8921",                          "_version": 1                        }                      }                    }                  ],                  "_offset": 0,                  "_total": 2                },                "_id": "61d2c4fddd6a323c1aee8914",                "System Name": "HVAC"              }            ],            "_offset": 0,            "_total": 1          },          "_id": "61d2c4fcdd6a323c1aee890d",          "_isTip": true,          "_metadata": {            "_updatedById": "f5cca02a-a515-48ed-aea2-37637376416a",            "_createdAt": 1641202940843,            "_createdById": "f5cca02a-a515-48ed-aea2-37637376416a",            "_updatedAt": 1641202940843          },          "_version": 1        }      ],      "_irn": "itemsvc:nameduseritem:61d2c4fcdd6a323c1aee890c",      "_namespaces": [        "lnt_EvqksGPz"      ],      "_nextVersion": 2,      "_shortName": "systems",      "_tipVersion": 1,      "_versionsCount": 1,      "_itemClass": "NamedUserCollection",      "_userItemId": "systems_zEfhiXo4wE",      "_id": "61d2c4fcdd6a323c1aee890c",      "_metadata": {        "_updatedById": "f5cca02a-a515-48ed-aea2-37637376416a",        "_createdAt": 1641202940840,        "_createdById": "f5cca02a-a515-48ed-aea2-37637376416a",        "_updatedAt": 1641202940840      },      "_kind": "collection"    }  ],  "_referencedItems": {//projection of all RelatedItems in each hop, grouped by userItemId and versionId    "system-elements_TEYZX2iPTz": { //collection userItemId      "61d2c4fcdd6a323c1aee890f": { //collection versionId        //nodes in collection        "61d2c4fddd6a323c1aee8916": {          "System Element Name": "Duct",          "_id": "61d2c4fddd6a323c1aee8916"        },        "61d2c4fddd6a323c1aee8915": {          "System Element Name": "AHU1",          "_id": "61d2c4fddd6a323c1aee8915"        }      }    },    "1801ks-inv-_elprops_i15EmQgrzu": { //collection userItemId      "61d2c4fcdd6a323c1aee8913": { //collection versionId        //nodes in collection        "61d2c4fedd6a323c1aee8920": {          "_id": "61d2c4fedd6a323c1aee8920",          "properties": {            "prop": "testValue1"          }        },        "61d2c4fedd6a323c1aee8921": {          "_id": "61d2c4fedd6a323c1aee8921",          "properties": {            "prop1": "testValue1"          }        }      }    },    "1801ks-inv-_ba_elem_gKARtcrV3q": { //collection userItemId      "61d2c4fcdd6a323c1aee8911": { //collection versionId        //nodes in collection        "61d2c4fddd6a323c1aee891a": {          "_id": "61d2c4fddd6a323c1aee891a"        },        "61d2c4fddd6a323c1aee891b": {          "_id": "61d2c4fddd6a323c1aee891b"        }      }    }  },  "_time": "132ms"}