gpt4 book ai didi

sparql - 如何在SPARQL中自定义ORDER BY条件

转载 作者:行者123 更新时间:2023-12-03 09:22:46 25 4
gpt4 key购买 nike

我想不按字母顺序排列 SPARQL 查询的输出,而是按照我自己定义的特定顺序。我找不到有关如何操作的信息。

例如,我有一个查询:

 SELECT DISTINCT ?a ?b ?c
WHERE { ... }
ORDER BY ?c

变量c可以有有限的值范围:“s”、“m”、“m1”、“m2”、“p”和“w”。我希望顺序如下:

1) s
2) m
3) m1
4) m2
4) p
5) w

所以,它不是按字母顺序排列的。如何强制 ORDER BY 按此顺序对输出进行排序?

我使用 SPARQL 端点 Fuseki 来查询海龟文件,并使用 jinja2 模板来呈现结果。

最佳答案

一般来说,您需要编写一个自定义函数,如 Jeen's answer 中所述。 。但是,当您的值数量有限并且知 Prop 体顺序时,您可以简单地包含一个 values block ,将每个值与其排序索引相关联,然后对其进行排序。例如,如果您想对某些尺寸进行排序,您可以这样做:

select ?item where {
values (?size ?size_) { ("small" 1) ("medium" 2) ("large" 3) }
?item :hasSize ?size
}
order by ?size_

关于sparql - 如何在SPARQL中自定义ORDER BY条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28529335/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com