該錯誤消息似乎是準確的,但只是許多你會用這個查詢得到的第一個。通常的請求是查看一些SPARQL學習資源,以至少了解基於三重圖形模式匹配的基礎知識,以及一些提示尋找什麼的提示。結構是不是一個壞的地方開始,而下面幾乎是應該做的,我認爲你打算:
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
CONSTRUCT{
?entity rdfs:label ?label .
}
WHERE
{
?entity a ex:something ;
rdfs:label ?oldlabel .
BIND(CONCAT(STR(?oldlabel), " | SOME ADDITIONAL TEXT I WOULD LIKE TO APPEND MANUALLY")) AS ?label) .
}
有關於查詢不同的不少東西,所以來看看,看看它是否準確地做什麼你要。一個提示是使用'。'之間的語法區別。和';'分開三重模式。另一個是每個子句都定義一個URL,在示例中使用qname或者一個變量,前綴爲'?'。 'label'或'something'都不是有效的。因爲CONSTRUCT只返回一組三元組。要修改標籤,我認爲這是意圖,你需要使用SPARQL更新,即:
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX ex: <http://example.org/example#>
DELETE {
?entity rdfs:label ?oldlabel .
}
INSERT{
?entity rdfs:label ?label .
}
WHERE
{
?entity a ex:something .
?entity rdfs:label ?oldlabel .
BIND(CONCAT(STR(?oldlabel), " | SOME ADDITIONAL TEXT I WOULD LIKE TO APPEND MANUALLY") AS ?label) .
}
注意三重模式如何找到比賽呢?oldlabel並將其刪除,插入新的約束?標籤來代替。此查詢假定定義了一個默認圖,該圖保存原始數據和更新目標。如果不是,則需要使用WITH或GRAPH指定圖形。 (還包括使用'。'和';'來區分三重模式的語法差異的另一個提示。)