[英]Debugging sparql function return values in dotNetRDF
我有一個SPARQL查詢,其過濾器如下所示:
SELECT * FROM
{
...
data:person_1 app:maxDistance ?value
data:person_1 app:coordinates ?coord1
data:person_2 app:coordinates ?coord2
FILTER (
xsd:float(STRBEFORE(?value, " miles"))
>=
app:miles-between(?coord1, ?coord2)
)
}
?value
是一個以“ x英里”形式表示的文字(x是一個數值)
所以我想過濾掉比person_1的maxDistance更遠的人,但是似乎過濾器總是返回false,沒有人被過濾掉。
問題是盡管我不確定如何調試它。 我知道app:miles-between的返回值,因為它是我可以在其中斷點的自定義c#函數,它可以正確返回一個雙精度值。
但是我不知道xsd:float()和STRBEFORE返回什么。 無論如何,將返回值綁定到變量並從SELECT輸出?
我嘗試使用ExplainQueryProcessor,但是它沒有提供足夠的信息,例如我想知道的返回值。
但是我不知道xsd:float()和STRBEFORE返回什么。 無論如何,將返回值綁定到變量並從SELECT輸出?
您想要綁定 :
select ?floatValue ?milesBetween where {
…
BIND( xsd:float(STRBEFORE(?value, " miles")) as ?floatValue )
BIND( app:miles-between(?coord1, ?coord2) as ?milesBetween )
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.