如何通过SPARQL查询提取RDF文本?

如何通过SPARQL查询提取RDF文本?,sparql,rdf,Sparql,Rdf,假设我们有一个不知道的数据集,但有一个公共SPARQL端点。我想发出SPARQL查询,返回此数据集中的所有文本值。这个查询看起来怎么样 我之所以需要它,是因为我打算对许多数据集使用相同的查询。因此,我不需要浏览它们中的每一个来了解它们用于文本的词汇表 另外,我不确定这是不是真的,但听起来很合理,我相信这些端点有某种安全措施,这样就不会对它们执行长时间运行的查询。有没有一种方法可以使用LIMIT N返回这些文本。所以我通过一个查询得到这些文本N乘N,而不是所有的文本 假设我们有一个数据集,我们一无

假设我们有一个不知道的数据集,但有一个公共SPARQL端点。我想发出SPARQL查询,返回此数据集中的所有文本值。这个查询看起来怎么样

我之所以需要它,是因为我打算对许多数据集使用相同的查询。因此,我不需要浏览它们中的每一个来了解它们用于文本的词汇表

另外,我不确定这是不是真的,但听起来很合理,我相信这些端点有某种安全措施,这样就不会对它们执行长时间运行的查询。有没有一种方法可以使用LIMIT N返回这些文本。所以我通过一个查询得到这些文本N乘N,而不是所有的文本

假设我们有一个数据集,我们一无所知,但有一个公共 SPARQL端点。我想发出SPARQL查询,这些查询将 返回此数据集中的所有文字值。这个查询看起来怎么样 比如说

您可以通过使用带有过滤器的函数来检查某个内容是否为文字。文字只能出现在三元组的对象位置,因此,如果只获取每个三元组并检查对象是否为文字,则将获取所有文字。由于某些文字可能出现多次,因此还应使用distinct来消除重复结果

select distinct?literal{
?s?p?文字
过滤器是文本(?文本)
}
至于一次检索n个文本块中的文本,这通常称为分页,在另一个问题中讨论并回答了这个问题

假设我们有一个数据集,我们一无所知,但有一个公共 SPARQL端点。我想发出SPARQL查询,这些查询将 返回此数据集中的所有文字值。这个查询看起来怎么样 比如说

您可以通过使用带有过滤器的函数来检查某个内容是否为文字。文字只能出现在三元组的对象位置,因此,如果只获取每个三元组并检查对象是否为文字,则将获取所有文字。由于某些文字可能出现多次,因此还应使用distinct来消除重复结果

select distinct?literal{
?s?p?文字
过滤器是文本(?文本)
}

至于一次检索n个文本块中的文本,这通常称为分页,这在另一个问题中已经讨论和回答过。

特别是您要求限制结果集的方法,让我假设您没有看过任何SPARQL教程。作为提示,看看最普通/常见的三重模式的查询如何+添加一个过滤器,将三重模式的对象限制为文本+使用一些限制N.是的,我知道限制和偏移。我只是不想把答案指向某个地方,因为我不知道最好的答案是什么。特别是你要求一种限制结果的方法。让我假设你没有看过任何SPARQL教程。作为提示,看看最普通/常见的三重模式的查询如何+添加一个过滤器,将三重模式的对象限制为文本+使用一些限制N.是的,我知道限制和偏移。我只是不想把答案指向某个地方,因为我不知道最好的答案是什么。