如何解决SPARQL 查询:OR 在 FILTER 中?
我想根据短标题搜索法庭案件,但我在 RDF 记录中注意到此信息有时存储在一个属性下 (cdm:expression_case-law_parties),有时存储在另一个属性下 (cdm:expression_title_alternative) .我想同时过滤两者。下面的查询(我尝试在 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
解决方法
FILTER (CONTAINS (?alttitle,"France v Commission") || CONTAINS(?parties,"France v Commission"))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。