没有 FROM 关键字的 Sparql

发布于 12-04 03:14 字数 332 浏览 2 评论 0原文

很高兴有人能澄清。

我总是读到 SQL 和 SPARQL 非常相似。 然而,很多时候我看到 sparql 查询没有 FROM 关键字。 您会假设您必须在数据库中的某个位置查询数据源“FROM” 就像 SQL 的行为方式一样。

示例

PREFIX foaf:  <http://xmlns.com/foaf/0.1/>
SELECT ?name
WHERE 
{
    ?person foaf:name ?name .
}

它如何知道去哪里寻找?就像在 SQL 中一样,查看 Database1 - table1

干杯

Glad if someone can clarify.

I always read that SQL and SPARQL are very similar.
However, a lot of times i have seen sparql query without the FROM keyword.
You would assume that you have to query the datasource 'FROM' somewhere in the database
like how SQL behaves.

Example

PREFIX foaf:  <http://xmlns.com/foaf/0.1/>
SELECT ?name
WHERE 
{
    ?person foaf:name ?name .
}

How does it know where to look for? Like in SQL, look in Database1 - table1

Cheers

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

遇见了你2024-12-11 03:14:43

SPARQL 查询针对 RDF 数据集 执行,该数据集由两部分组成:

  • 单个默认图:一组没有附加名称的三元组
  • 零个或多个命名图:由名称标识的一组三元组

您可以使用可选的FROMFROM NAMED 子句指定要查询的图。查看指定 RDF 数据集。如果省略这些子句,则查询将在默认图上执行。


图和 RDF 数据集存储取决于实现。例如,使用 Jena ARQ,您可以使用 QueryExecutionFactory 并且可以初始化它有两种方式:

  • 传递
  • rel="nofollow">Model,它成为通过 Dataset,它可以包含单个默认图和多个命名图

Jena ARQ 的代码示例为可用此处。其他实现可能有所不同。

SPARQL queries are execute against an RDF dataset, which has two parts:

  • A single default graph: a set of triples with no name attached to them
  • Zero or more named graphs: a set of triples identified by a name

You can specify the graph to query using the optional FROM or FROM NAMED clauses. Have a look at Specifying RDF Datasets. If you omit those clauses, then the query is executed on the default graph.


Graphs and RDF dataset storage is implementation dependent. For example, using Jena ARQ you use a QueryExecutionFactory and you can initialize it in two ways:

  • passing a Model, which becomes the default graph on which queries are executed
  • passing a Dataset, which can contain a single default graph and several named graphs

Code Examples for Jena ARQ are available here. Other implementation may be different.

夜司空2024-12-11 03:14:43

它更接近于“查看 Database1 中的所有表”。

由于 RDF 中的所有数据都是三元组(或者四元组,如果您以这种方式看待世界的话),您可以一次性查询您拥有的所有数据,而不必担心模式差异。

It's closer to "look in Database1, all tables".

As all the data in RDF is triples (or quads if you look at the world that way) you can query across everything you have in one go, without having to worry about schema differences.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文