regex SPARQL查询-提取URL库

ppcbkaq5  于 2023-05-19  发布在  其他
关注(0)|答案(1)|浏览(118)

我想在SPARQL GraphDB查询中只提取url的基。例如,www.schema.org代替http://www.schema.org/archive
我尝试通过使用绑定和替换函数匹配完整的URL,然后将基作为一个组捕获。然而,这似乎不能正常工作。我猜我在正则表达式中做错了什么?

#2001年5月在线发表的文章的托管网站是什么,James Hendler是其作者之一?

PREFIX : <http://www.mysemantics.com/> 
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?hostingWebsite
WHERE {
    ?article a :Article . 
    ?article :datePublished "2001"^^xsd:date .
    ?article :hasAuthor :JamesHendler .
    ?article :url ?url . 
    BIND(REPLACE(?url, ".*://(.*?)/.*", "$1") AS ?hostingWebsite)
}
rxztt3cl

rxztt3cl1#

你就差一点!URI不是字符串,因此您需要首先转换为字符串:

BIND(REPLACE(STR(?url), ".*://(.*?)/.*", "$1") AS ?hostingWebsite)

相关问题