Filter SPARQL查询中的析取过滤器

Filter SPARQL查询中的析取过滤器,filter,sparql,logical-or,Filter,Sparql,Logical Or,我想在判例法数据库中搜索特定的标题。我在title和alttitle属性中查找该标题,使用过滤器和|(逻辑或) 现在我注意到,这似乎只有在两个过滤条件都为真时才会产生结果。因此,下面的示例不会产生任何结果,即使我要查找的记录中的?alttitle字段的值是“NTN东洋轴承和其他v委员会”,而?title字段的值是“NTN东洋轴承有限公司和其他v委员会”。我希望在使用|时,在?alttitle属性中有一个匹配项就足够了 如何确保即使只有与?alttitle值匹配的记录也会返回?此外,任何加快查询速

我想在判例法数据库中搜索特定的标题。我在
title
alttitle
属性中查找该标题,使用
过滤器
|
(逻辑或)

现在我注意到,这似乎只有在两个过滤条件都为真时才会产生结果。因此,下面的示例不会产生任何结果,即使我要查找的记录中的
?alttitle
字段的值是“NTN东洋轴承和其他v委员会”,而
?title
字段的值是“NTN东洋轴承有限公司和其他v委员会”。我希望在使用
|
时,在
?alttitle
属性中有一个匹配项就足够了

如何确保即使只有与
?alttitle
值匹配的记录也会返回?此外,任何加快查询速度的提示都将不胜感激

SPARQL端点:

前缀cdm: 选择不同的?工作?表达式?ecli?celex?alttitle?agname?标题 在哪里{{{ 在课堂上工作。 表达cdm:表达属于工作。 ?表达式cdm:表达式标题?标题。 ?表达式cdm:表达式_使用_语言。 ?cdm工作:案例法?ecli?ecli。 ?工作cdm:资源\法律\身份\名人?名人。 可选{表述cdm:表述(判例法)缔约方| cdm:表述(标题)备选(替代标题)} } 过滤器(?类在(,)中) 过滤器(包含(?alttitle,“NTN东洋轴承和其他v委员会”)|包含(?title,“NTN东洋轴承v委员会”)) 工会{在一个班级工作。 表达cdm:表达属于工作。 ?表达式cdm:表达式标题?标题。 ?表达式cdm:表达式_使用_语言。 ?cdm工作:案例法?ecli?ecli。 ?工作cdm:资源\法律\身份\名人?名人。 ?cdm工作:案例法由通用公司提供。 ?ag cdm:代理名称?agname。 可选{表述cdm:表述(判例法)缔约方| cdm:表述(标题)备选(替代标题)} } 过滤器(?类在()中) 过滤器(包含(?alttitle,“NTN东洋轴承和其他v委员会”)|包含(?title,“NTN东洋轴承v委员会”)) 限制15
数据存在一些编码“问题”(我们称之为隐藏陷阱):我的意思是,它在前4个字中与过滤器一起工作:
过滤器(contains(str(?alttitle),“NTN Toyo轴承和”)
但即使是额外的单空格字符也会使结果集为空:
过滤器(contains(str(?alttitle),“NTN Toyo轴承和”))
-如果您使用工作过滤器进行查询,并要求N-Triples作为结果,而不是HTML,您将看到文本是
NTN Toyo轴承和\u00a0v Council
-unicode字符是一个“不间断空格”:顺便说一句,第二个
UNION
子句的过滤器不在UNION的范围内-我不认为这是一个很好的发现,也是将来故障排除的有用方法。事实上,进一步的测试证实,这两种情况都不是真实的,因为这是一个非破坏空间。因此,
|
确实如预期的那样工作。请随意将此作为答案发布!
PREFIX cdm: <http://publications.europa.eu/ontology/cdm#>
SELECT DISTINCT ?work ?expression ?ecli ?celex ?alttitle ?agname ?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|cdm:expression_title_alternative ?alttitle}
}

                  
FILTER(?class in (<http://publications.europa.eu/ontology/cdm#judgement>,<http://publications.europa.eu/ontology/cdm#opinion_cjeu>))
FILTER (CONTAINS(?alttitle, "NTN Toyo Bearing and Others v Council")||CONTAINS(?title,"NTN Toyo Bearing v Council"))}

UNION{?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.
?work cdm:case-law_delivered_by_advocate-general ?ag.
?ag cdm:agent_name ?agname.

OPTIONAL{?expression cdm:expression_case-law_parties|cdm:expression_title_alternative ?alttitle}

         }
FILTER(?class in (<http://publications.europa.eu/ontology/cdm#opinion_advocate-general>))
FILTER (CONTAINS(?alttitle, "NTN Toyo Bearing and Others v Council")||CONTAINS(?title,"NTN Toyo Bearing v Council"))}

LIMIT 15