Sparql 保持节点之间最接近的长度

Sparql 保持节点之间最接近的长度,sparql,wildcard,virtuoso,Sparql,Wildcard,Virtuoso,我想确定节点之间的最短长度和链接到真实状态的最近节点之间的最短长度,然后构造表示每个节点最短长度的新图。 例如,见下图: ----------------- | start | end | ================= | :1 | :1 | | :2 | :4 | | :5 | :5 | 另外,如果我有两个属性,我想加权一个属性 例如,“类似于”属性在某些方面具有优先权。 如果第一级相似节点为绿色时没有答案,请查看更高级别的橙色,然后查找相似的真

我想确定节点之间的最短长度和链接到真实状态的最近节点之间的最短长度,然后构造表示每个节点最短长度的新图。 例如,见下图:

-----------------
| start | end   |
=================
| :1    | :1    |
| :2    | :4    |
| :5    | :5    |
另外,如果我有两个属性,我想加权一个属性

例如,“类似于”属性在某些方面具有优先权。 如果第一级相似节点为绿色时没有答案,请查看更高级别的橙色,然后查找相似的真实节点,然后查看更高级别的红色等

-----------------
| start | end   |
=================
| :1    | :1    |
| :2    | :4    |
| :3    | :6    |
| :4    | :4    |
| :5    | :5    |
| :6    | :6    |
| :7    | :7    |
现在,如果第一层没有解决方案,请参见第二层

是否可以通过一个sparql请求获得此结果?
目前,我使用了一个相当长的sparqlpython算法。我计算节点之间的距离并保持最短的长度以创建新的三元组。它显然没有优化。

您已经阅读了吗?它可能已经包含了答案,你只需要把它转换成一个构造查询。但它给出了长度,而不是保持最短。如果我使用query作为子查询来测量长度,使用另一个来选择max,我将丢失位于最短位置的节点的id。如果我们重复使用您提供的示例,如果有几个组以:a开头,其他组以:d开头,等等,我只想为每个开始节点保留最短长度的成对开始结束。目前,我使用一个python脚本来选择这对夫妇。嗯,你能和子查询共享这个查询吗?我重用了prefix:select?begin?end min?length中的示例,其中{{select?begin?end count*作为{start a path?begin:relatedTo*?midI.过滤器不存在{[]:relatedTo?begin}抓取下一条边?midI:relatedTo?midJ.到达路径的末尾。?midJ:relatedTo*?end.过滤器不存在{?end:relatedTo[]}按?begin?end}}分组如果我使用select?begin?end min?length,则没有过滤器,如果我使用select?begin min?length,显然我得到了正确数量的结果,但没有长度最短的?end节点。我搜索了一个筛选器,但我不知道如何按“开始”节点筛选所有结果,并保持“结束”节点的最小长度。您已经阅读了吗?它可能已经包含了答案,你只需要把它转换成一个构造查询。但它给出了长度,而不是保持最短。如果我使用query作为子查询来测量长度,使用另一个来选择max,我将丢失位于最短位置的节点的id。如果我们重复使用您提供的示例,如果有几个组以:a开头,其他组以:d开头,等等,我只想为每个开始节点保留最短长度的成对开始结束。目前,我使用一个python脚本来选择这对夫妇。嗯,你能和子查询共享这个查询吗?我重用了prefix:select?begin?end min?length中的示例,其中{{select?begin?end count*作为{start a path?begin:relatedTo*?midI.过滤器不存在{[]:relatedTo?begin}抓取下一条边?midI:relatedTo?midJ.到达路径的末尾。?midJ:relatedTo*?end.过滤器不存在{?end:relatedTo[]}按?begin?end}}分组如果我使用select?begin?end min?length,则没有过滤器,如果我使用select?begin min?length,显然我得到了正确数量的结果,但没有长度最短的?end节点。我搜索了一个过滤器,但我不知道如何按“开始”节点过滤所有结果,并保持“结束”节点的最小长度。
-----------------
| start | end   |
=================
| :1    | :6    |
| :3    | :6    |
| :6    | :6    |
| :7    | :7    |