繁体   English   中英

如何在SPARQL中过滤DBpedia结果

[英]How to filter DBpedia results in SPARQL

我有一个小问题...如果我有这个简单的SPARQL查询

SELECT ?abstract 
WHERE {
<http://dbpedia.org/resource/Mitsubishi> <http://dbpedia.org/ontology/abstract> ?abstract.
FILTER langMatches( lang(?abstract), 'en')}

我有这个结果: SPARQL结果 ,它具有非英语字符...是否有任何想法如何删除它们并仅检索英语单词?

您需要准确定义结果中需要和不需要的字符,但是您可以使用replace将范围之外的字符替换为例如空字符串。 如果您想排除所有基本拉丁,拉丁1补充,拉丁扩展A和拉丁扩展B范围(最终为\\ u0000– \\ u024f),则可以执行以下操作:

SELECT ?abstract ?cleanAbstract
WHERE {
  dbpedia:Mitsubishi dbpedia-owl:abstract ?abstract 
  FILTER langMatches( lang(?abstract), 'en')
  bind(replace(?abstract,"[^\\x{0000}-\\x{024f}]","") as ?cleanAbstract)
}

SPARQL结果

甚至更简单:

SELECT (replace(?abstract_,"[^\\x{0000}-\\x{024f}]","") as ?abstract)
WHERE {
  dbpedia:Mitsubishi dbpedia-owl:abstract ?abstract_
  FILTER langMatches(lang(?abstract_), 'en')
}

SPARQL结果

三菱集团(MitsubishiGurūpu)(也称为三菱集团公司或Mitsubishi Companies)是一组由日本人自主经营的跨国公司,涵盖了拥有三菱品牌,商标和遗产的一系列业务。形成一个松散的实体,即三菱Keiretsu,在日本和美国媒体和官方报道中经常提及; 通常,这些公司都来自同名的zaibatsu。 前25名公司也是三菱Kin'yōkai(“星期五俱乐部”)的成员,每月举行会议。 此外,还设有Mitsubishi.com委员会,以通过门户网站促进三菱品牌的交流和访问。

您可能会在Unicode Wikipedia文章中找到拉丁脚本

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM