我正在使用此客户端 http://yasgui.laurensrietveld.nl 我希望查询bioportal http://bioportal.bioontology.org
我以前的大多数查询都有一个PREFIX而没有FROM部分。我可以将任何FROM URL移动到PREFIX吗?
使用YASGUI客户端,FROM和Endpoint字段有什么区别?
我可以使用from语句将任何查询重写为没有查询的查询吗?
我无法列出人类表型本体概念id:HP:0000023的详细信息,因为我不确定将什么内容放入FROM或是否完全使用它。
答案 0 :(得分:2)
这里有许多术语和机制。我们一个接一个地讨论它们。
首先,PREFIX
子句只是语法快捷方式的声明,可在查询中使用。所以这一行:
PREFIX ex: <http://example.org/>
表示字符串ex:
是字符串http://example.org/
的快捷方式。如果您在查询开头声明了此前缀,则可以在查询的其他位置使用ex:someUrl
(而不是<http://example.org/someUrl>
)。它只是让查询更容易阅读和写入,但除此之外它不会影响查询的含义。
SPARQL端点是可以回答SPARQL查询的Web服务的另一个术语。
SPARQL查询的FROM
子句确定数据集(或更确切地说,默认图,它是数据集的一部分),查询已执行。任何SPARQL端点都可能包含多个图形,每个图形由URI标识(所谓的命名图形)。这种图形的集合在一起是数据集。如果未指定FROM
子句(也可能还有一个或多个FROM NAMED
子句),则查询的数据集只是端点选择的默认数据集。
那么,这对您的具体问题意味着什么?
我以前的大多数查询都有一个PREFIX而没有FROM部分。我可以将任何FROM URL移动到PREFIX吗?
从上面的解释中可以看出,这没有任何意义。它们是不同的机制,出于不同的目的,只是碰巧使用URI。
使用YASGUI客户端,FROM和Endpoint字段有什么区别?
端点字段定义YASGUI需要将查询发送到的服务。 FROM
子句告诉端点您要查询的数据集。
我可以使用from语句将任何查询重写为没有查询的查询吗?
一般情况下,不是。缺少FROM
子句意味着端点通过其默认数据集执行查询。根据端点的配置方式,这可能意味着您要么获得更多结果(即不仅来自您想要的一个数据集,而是来自其他许多数据集),或者根本没有(如果您要查询的数据集)不是端点的默认数据集的一部分)。