为什么有些SPARQL查询缺少FROM关键字?
我正在使用这个客户端 我希望对bioportal提出质疑 我以前的大多数查询都有前缀,并且没有FROM部分。我可以将URL中的任何内容移动到前缀中吗 使用YASGUI客户端,FROM和Endpoint字段之间有什么区别 我可以将任何带有from语句的查询重写为没有from语句的查询吗为什么有些SPARQL查询缺少FROM关键字?,sparql,Sparql,我正在使用这个客户端 我希望对bioportal提出质疑 我以前的大多数查询都有前缀,并且没有FROM部分。我可以将URL中的任何内容移动到前缀中吗 使用YASGUI客户端,FROM和Endpoint字段之间有什么区别 我可以将任何带有from语句的查询重写为没有from语句的查询吗 例如,我无法列出人类表型本体概念id:HP:0000023的详细信息,因为我不确定从中输入什么或是否使用它。这里有许多术语和机制。让我们一个一个地看一下 首先,PREFIX子句只是一个语法快捷方式的声明,用于查询中
例如,我无法列出人类表型本体概念id:HP:0000023的详细信息,因为我不确定从中输入什么或是否使用它。这里有许多术语和机制。让我们一个一个地看一下 首先,
PREFIX
子句只是一个语法快捷方式的声明,用于查询中。所以这一行:
PREFIX ex: <http://example.org/>
前缀ex:
表示字符串ex:
是字符串http://example.org/
。如果在查询开始时声明了此前缀,则可以在查询的其他位置使用ex:someUrl
(而不是
)。它只是为了使查询更易于阅读和编写,但除此之外,它对查询的含义没有影响
SPARQL端点是可以回答SPARQL查询的web服务的另一个术语
SPARQL查询的FROM
子句确定执行查询的数据集(或者更准确地说,默认图形,它是数据集的一部分)。任何SPARQL端点都可能包含多个图,每个图都由URI(所谓的命名图)标识。这些图形的集合就是一个数据集。如果未指定FROM
子句(可能还有一个或多个FROM命名的子句),则查询的数据集只是端点选择的默认数据集
那么,这对你的具体问题意味着什么
我以前的大多数查询都有前缀,并且没有FROM部分。我可以将URL中的任何内容移动到前缀中吗
从上面的解释中可以看出,这是没有道理的。它们是不同的机制,出于不同的目的,恰好两者都使用URI
使用YASGUI客户端,FROM和Endpoint字段之间有什么区别
endpoint字段定义YASGUI需要向哪个服务发送查询。FROM
子句告诉端点要查询的数据集
我可以将任何带有from语句的查询重写为没有from语句的查询吗
通常情况下不是这样。缺少FROM
子句意味着端点在其默认数据集上执行查询。根据端点的配置方式,这可能意味着您要么获得更多的结果(即不仅来自您想要的一个数据集,还来自许多其他数据集),要么根本没有结果(如果您想要查询的数据集不是端点默认数据集的一部分)