sparql - 如何过滤 SPARQL 查询中的简单主题
问题描述
我想我被 SPARQL 的基础所困。有人可以帮忙吗?
我只是想过滤所有包含 RDS 数据库“Mountain”的主题。
Prefix lgdr:<http://linkedgeodata.org/triplify/> Prefix lgdo:<http://linkedgeodata.org/ontology/>
Select * where {
?s ?p ?o .
filter (contains(?s, "Mountain"))
} Limit 1000
查询导致错误:
Virtuoso 22023 Error SL001: The SPARQL 1.1 function CONTAINS() needs a string value as first argument
解决方案
您可以使用以下方法使其“工作”:
Prefix lgdr:<http://linkedgeodata.org/triplify/> Prefix lgdo:<http://linkedgeodata.org/ontology/>
Select * where {
?s ?p ?o .
filter (contains(str(?s), "Mountain"))
} Limit 1000
请注意查询中的附加内容str
。
然而,这导致
Virtuoso S1T00 Error SR171: Transaction timed out
我不知道如何处理。
但原则上工作:当你使用
Limit 1
你得到
s p o
http://linkedgeodata.org/ontology/MountainRescue http://www.w3.org/1999/02/22-rdf-syntax-ns#type http://www.w3.org/2002/07/owl#Class
推荐阅读
- python - pip3 无法确定存档格式
- javascript - Typescript - 有没有办法从集合的所有成员推断联合,而不是从第一个成员推断?
- excel - Excel 数据透视表 - 使用计数功能进行字段计算
- imagemagick - imagemagick convert 无法处理压缩后的 postscript 文件
- node.js - 使用node js和sharp自动修剪图像
- javascript - HtmlWebpackPlugin:脚本文件的错误哈希被注入到 html 文件中
- python - 猜谜游戏,discord.py 机器人
- mysql - 如何在 MySQL 中选择行作为 JSON 对象
- c# - 当前上下文中不存在名称 RenderSectionAsync - Blazor
- jquery - jQuery inArray 不匹配但在 IF 语句中匹配