我有以下三元:如何在使用triple的marklogic sparql查詢中使用SUM之類的聚合函數?
<?xml version="1.0" encoding="UTF-8"?>
<sem:triples xmlns:sem="http://marklogic.com/semantics">
<sem:triple>
<sem:subject>item1</sem:subject>
<sem:predicate>hasQty</sem:predicate>
<sem:object>20</sem:object>
</sem:triple>
</sem:triples>
<?xml version="1.0" encoding="UTF-8"?>
<sem:triples xmlns:sem="http://marklogic.com/semantics">
<sem:triple>
<sem:subject>item2</sem:subject>
<sem:predicate>hasQty</sem:predicate>
<sem:object>5</sem:object>
</sem:triple>
</sem:triples>`
這是我使用來計算這些量的總和SPARQL查詢:
select (SUM(?p) as ?p) where { ?s <hasQty> ?p}
而結果我得到的是這樣的 - >"0"^^xs:integer
,而不是25。 你能否提出一些建議?
我沒有MarkLogic實例啓動並運行... 1)您確定是一個有效的謂詞嗎?比如,你從'select * where'中得到什麼?{?s ?p}'2)如果該查詢有效,是你的數字類型的數量?它看起來像他們是字符串,需要轉換。 –
是的謂詞工作正常,但如何將它們轉換爲數字類型,我試圖用^^ xs:integer存儲它們,但沒有工作 –
您可以將您的MarkLogic三元組轉換爲標準RDF嗎?我很樂意爲您編寫完整的解決方案。 –