【发布时间】:2016-10-21 15:49:01
【问题描述】:
我有很多这样的三元组:
?s ex:url ?url
?url 可以是:
www.ex.com/data/1.html
www.ex.com/data/2.html
www.google.com/search
...
是否有可能使用 SPARQL 查询以某种方式过滤查询并获得不同的域列表?在示例中,www.ex.com 和 www.google.com。
类似这样的:
SELECT distinct ?url
WHERE { ?s ex:url ?url }
但对待每个 url 绑定。当然,我可以全部获取它们,并在我的程序中逐个处理每个 url,但我认为 sparql 查询会更节省内存。我正在使用 Stardog - 以防它具有一些自定义功能。
【问题讨论】:
-
您可以将 URL 的域绑定到一个新变量,然后选择这个变量。请参阅 SPARQL 规范以了解字符串操作和 REGEX。在第一次出现
/之前,类似子字符串的东西应该可以工作。 -
您能否详细说明如何将 URL 的域绑定到新变量?我知道 REGEX 操作,但它们似乎通过 FILTER 丢弃结果