SPARQL查询:FILTER中的OR



我想根据简短的标题搜索法庭案件,但我在RDF记录中注意到,这些信息有时存储在一个属性下(cdm:expression_case-law_parties(,有时存储在另一个属性之下(cdm:expression_title_alternanative(。我想同时过滤两者。下面的查询(我试图在FILTER中使用OR||(不起作用。什么是合适的方式?

PREFIX cdm: <http://publications.europa.eu/ontology/cdm#>
SELECT ?work ?expression ?ecli ?celex ?alttitle ?parties ?title
WHERE {
?work a ?class.
?expression cdm:expression_belongs_to_work ?work.
?expression cdm:expression_title ?title.
?expression cdm:expression_uses_language <http://publications.europa.eu/resource/authority/language/ENG>.
?work cdm:case-law_ecli ?ecli.
?work cdm:resource_legal_id_celex ?celex.
OPTIONAL{?expression cdm:expression_case-law_parties ?parties}
OPTIONAL{?expression cdm:expression_title_alternative ?alttitle}
FILTER(?class in (<http://publications.europa.eu/ontology/cdm#judgement>))
FILTER CONTAINS (?alttitle, "France v Commission") || (?parties, "France v Commission")}
LIMIT 15

来自Stanislav Kralin的评论:

FILTER (CONTAINS (?alttitle, "France v Commission") || CONTAINS(?parties, "France v Commission"))

最新更新