如何使用2个变量进行sparql查询?
让我解释一下:
我有一个历史地图的本体。我的实体是:HistoricalMap
,Language
,Color
连接它们的对象属性是:hasLanguage
,hasColor
(hist.map具有语言和颜色)。
如果我进行查询:
SELECT ?HistoricalMap ?Language ?Color
WHERE { ?HistoricalMap p1:hasLanguage ?Language.
?HistoricalMap p1:hasColor ?Color.
}
我得到了所有具有颜色和语言的地图。
我如何索要
hasColor
“红色”和hasLanguage
法语的地图? 最佳答案
因为您需要“ AND”,所以可以在模式中使用常量。
SELECT ?HistoricalMap
WHERE { ?HistoricalMap p1:hasLanguage "French".
?HistoricalMap p1:hasColor "Red" .
}
如果您还想返回变量,请使用
FILTER
:SELECT ?HistoricalMap ?Language ?Color
WHERE { ?HistoricalMap p1:hasLanguage ?Language.
?HistoricalMap p1:hasColor ?Color.
FILTER(?Language = "French" && ?Color = "Red")
}