语句部分匹配的 SPARQL 查询(包含)
Posted
技术标签:
【中文标题】语句部分匹配的 SPARQL 查询(包含)【英文标题】:SPARQL query for partial match of statement (contains) 【发布时间】:2015-02-20 11:34:25 【问题描述】:我想知道 SPARQL 中是否有一种方法可以查询语句的部分匹配。因此,例如,如果在三重商店中我有一个包含“blablablaUsefulblablabla”的对象,我希望能够查询 Useful,所以我想说应该找到独立的语句“Useful”该语句之前或之后的内容。
有没有办法做到这一点?
谢谢
【问题讨论】:
【参考方案1】:我有一个包含“blablablaUsefulblablabla”的对象
如果我理解正确的话,听起来你想要contains 函数。例如,在 DBpedia 上:
select distinct ?city ?label where
?city a dbpedia-owl:City ;
rdfs:label ?label .
filter contains(?label,"San") #-- the important line
filter langMatches(lang(?label),'en')
limit 100
SPARQL results
【讨论】:
谢谢!这样可行。我假设没有办法直接查询这个,以节省查询时间?如果没有,这是最好的解决方案。谢谢 @robinaugy 标准中没有,但一些端点支持属性函数,因此您可以编写?label bif:contains "san"
之类的东西。这对支持文本索引的端点很有帮助。
对,这可能确实有用。感谢您的回复!
Joshua 或其他人,如果我没看错的话,这个 contains 函数仅适用于文字?有没有办法对 URI 进行部分匹配?
编辑:找到了 :) 只需要做 str(?s) 而不是 ?s 然后以上是关于语句部分匹配的 SPARQL 查询(包含)的主要内容,如果未能解决你的问题,请参考以下文章