如何解释 orientjs 查询结果?

How to interpret orientjs query result?

我通过使用 Orientjs 查询我的 OrientDB 实例,然后从查询中提取所需的数据并将其传递给 [=32=,从而在我的网页中创建一个交互式图表].我能够从 OrientDB 实例中获取数据并将其绘制成图表,但我意识到 运行 在 OrientDB Studio 中查询的结果与我通过 Orientjs 运行 查询时的结果不同。在 Studio 中,我从查询中得到 20 个节点和 67 个边。当我 运行 通过 Orientjs 进行相同的查询时,我得到了 65 个单独的对象。最初我认为每个对象代表一个节点, 'in_links'/'out_links' 是边缘。然而,显然不是这样。

所以我认为这是 3 个问题中的第一个:

  1. Orientjs 无法正常工作并返回错误数据(我认为并希望这不太可能)。
  2. 我以某种方式运行在两个不同的 OrientDB 实例上查询(我很确定这是不可能的)。
  3. 我没有正确解释 Orientjs 的查询结果,因此没有正确地将它们输入 cytoscape.js(我认为这很可能是问题所在)。

以下是我从查询中返回的对象的一些示例:

{
    "@class": "<class_name>",
    "@type": "d",
    "Cluster_ID": 8,
    "@rid": "#25:5",
    "@version": 1
},
{
    "@class": "<class_name>",
    "@type": "d",
    "out_links": [
        "#33:65",
        "#34:65",
        "#35:65",
        "#36:65",
        "#33:67",
        "#34:67",
        "#35:67",
        "#36:67",
        "#33:69",
        "#34:69",
        "#35:69",
        "#36:69",
        "#33:71",
        "#34:71",
        "#35:71",
        "#36:71",
        "#36:127",
        "#37:126",
        "#38:126",
        "#39:126",
        "#40:126",
        "#37:130",
        "#38:129",
        "#39:129",
        "#40:129",
        "#33:130",
        "#38:133",
        "#39:132",
        "#40:132",
        "#33:133",
        "#34:133",
        "#39:136",
        "#40:135",
        "#33:136",
        "#34:136",
        "#35:136"
    ],
    "Cluster_ID": 0,
    "@rid": "#25:6",
    "@version": 9
},
{
    "@class": "<class_name>",
    "@type": "d",
    "Cluster_ID": 8,
    "@rid": "#25:7",
    "@version": 1
},
{
    "@class": "<class_name>",
    "@type": "d",
    "out_links": [
        "#36:112",
        "#37:112",
        "#38:112",
        "#39:112",
        "#40:111",
        "#37:115",
        "#38:115",
        "#39:115",
        "#40:115",
        "#33:115"
    ],
    "in_links": [
        "#38:95",
        "#35:94",
        "#40:94",
        "#37:93",
        "#34:93",
        "#33:105",
        "#38:103",
        "#35:104",
        "#40:102",
        "#37:102"
    ],
    "Cluster_ID": 3,
    "@rid": "#25:8",
    "@version": 5
}

就像我提到的,我认为每个代表一个节点,in/out_links 是边缘。这个对吗?还是我在解释查询结果时遗漏了什么?

在 Orientjs GitHub (see here) 的人们的帮助下,我找到了答案。

当 运行 OrientDB studio 上的查询时,除非指定限制,否则每个查询都会添加一个隐式 LIMIT 20。我返回并指定了 100 的限制,果然我渲染的​​节点数量与来自 Orientjs 查询的对象数量相同。从那里确认边缘的数量。所以上面关于 Orientjs 查询结果的描述是正确的:每个对象都是一个节点,in/out_links 是边。边的关键在于,如果一个顶点的in_link和另一个顶点的out_link中有相同的ID,则这两个顶点由该边连接。