SPARQL:当一个主题有多个对象时,如何获得最大值

SPARQL:当一个主题有多个对象时,如何获得最大值,sparql,rdf,Sparql,Rdf,我正在尝试编写一个SPARQL查询,该查询将比较一个主题的多个值,并返回最大值: 例如,我有以下三重: <http://data.judaicalink.org/data/Glogau> a skos:Concept ; geo:asWKT "+016.084444", "+016.084499 " ; skos:prefLabel "Glogau" . askos:概念; 地理位置:asWKT“+016.084444”, "+016.084499 " ; skos:预标签

我正在尝试编写一个SPARQL查询,该查询将比较一个主题的多个值,并返回最大值:

例如,我有以下三重:

<http://data.judaicalink.org/data/Glogau> a skos:Concept ;
geo:asWKT "+016.084444",
    "+016.084499 " ;
skos:prefLabel "Glogau" .
askos:概念;
地理位置:asWKT“+016.084444”,
"+016.084499 " ;
skos:预标签“Glogau”。
我需要我的查询首先检查
geo:asWKT
值:

如果
“+016.084444”-“+016.084499”<0.01
(绝对值)

然后,如果有效,则选择较大的一个(即,
“+016.084499”
)。在某些情况下,可能只有一个
asWKT


有什么想法吗

如果“>0.01”呢?如果有三个值呢?我没有完全理解这个问题,但是最大的值听起来像是
groupby
=
max
。关于第二部分,
BIND
结合
if
可能在这里起作用。您提供的示例数据不是一个三元组。它是4个三元组,我在这里这样显示。
{a skos:Concept.geo:asWKT“+016.084444”。geo:asWKT“+016.084499”。skos:preflable“Glogau”。}
@AKSW谢谢你的提示。但我的问题是我不知道如何区分这两个对象值。所以这里是想比较
“+016.084444”
“+016.084499“
都分配给
geo:asWKT
。要使用IF语句,我需要首先将它们作为Value1和Value2。@Talled您是对的,我们这里有超过1个三元组。但我认为
geo:asWKT“+016.084444”,“+016.084499”
被认为是一个三元组,但当你像这样单独放置时,似乎更容易处理。