如何使用2个变量进行sparql查询?
让我解释一下:
我有一个历史地图的本体。我的实体是:HistoricalMapLanguageColor
连接它们的对象属性是:hasLanguagehasColor(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")
}

10-06 06:40