SPARQL中哈希符号(#)的含义是什么?

Dan*_* S. 2 sparql

在SPARQL中,我经常在前缀定义的末尾看到#的用法,如下所示:

@prefix dt:   <http://example.org/datatype#>
Run Code Online (Sandbox Code Playgroud)

目的是什么?我在SPARQL文档中找不到这个.

uno*_*nor 8

你的例子似乎是在Turtle中,就像在SPARQL中一样,语法是:

PREFIX dt: <http://example.org/datatype#>
Run Code Online (Sandbox Code Playgroud)

但它的想法是一样的:您可以使用前缀名称,而不必在查询中使用完整的IRI :

  1. 在您的示例中,前缀标签dt.它映射到IRI http://example.org/datatype#.
  2. 在您的查询中,它可能会被用作dt:foobar,其中foobar称为本地部分.
  3. 来自前缀标签本地部分的映射IRI 被连接起来形成"实际"IRI:

    http://example.org/datatype#+ foobar=
    http://example.org/datatype#foobar

  4. (而不是使用dt:foobar,你也可以使用<http://example.org/datatype#foobar>.)

所以#恰好是IRI设计的一部分.这是在语义Web中构建词汇IRI的流行方式.另一种流行的方式是使用/.请参阅HashVsSlash.