2

303问题:

如何/resource从人类可读的/page(例如,dbpedia.org/page/Salzburg)中获取 URI。当用户浏览到 时/page,我想向他显示来自/resource(通过单击 JS 小书签)的 RDF 数据并且仅显示此资源。可能性:

  1. foaf:primarytopic
  2. http://www.w3.org/1999/xhtml/vocab#alternate

在 DBpedia 上它可以正常工作foaf:primarytopic,但是来自http://data.linkedmdb.org/page/film/2014的数据将显示这个备用 URI:http ://data.linkedmdb.org/data/film/2014 (并且没有foaf:primarytopic)。

来自的数据http://data.linkedmdb.org/data/film/2014是一个图,其中有一个 id, http://data.linkedmdb.org/data/film/2014其中foaf:primarytopic是需要的 URI http://data.linkedmdb.org/resource/film/2014:。看

http://rdf-translator.appspot.com/convert/detect/json-ld/http://data.linkedmdb.org/data/film/2014

为数据。将有三个 HTTP 请求 (1. /page2. /data3. /resource) 如何更快地获取有关资源的“真实”数据?

4

1 回答 1

1

我不确定我是否完全理解这个问题。在关联数据中,通常认为区分事物本身的身份(电影、城市、沐浴水等)和以某种符号表示的该资源的描述是一种很好的做法。尤其重要的是,这是因为您可以对描述的声明与对实际资源的声明不同 - 例如,当它最近更新时。

根据您请求的描述形式,您将获得已识别资源的不同表示形式。因此,以您的示例电影为例,如果我们请求 HTML 演示文稿,我们会得到一种编码:

$ wget -O /dev/null -H http://data.linkedmdb.org/resource/film/2014
Resolving data.linkedmdb.org (data.linkedmdb.org)... 128.100.1.11
Connecting to data.linkedmdb.org (data.linkedmdb.org)|128.100.1.11|:80... connected.
HTTP request sent, awaiting response... 303 See Other
Location: http://data.linkedmdb.org/page/film/2014 [following]
--2013-05-28 13:58:26--  http://data.linkedmdb.org/page/film/2014
Reusing existing connection to data.linkedmdb.org:80.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: `/dev/null'
    [  <=>                                                      ] 39,627       163K/s   in 0.2s    
2013-05-28 13:58:26 (163 KB/s) - `/dev/null' saved [39627]

但是如果我们请求数据格式的描述,例如 RDF/XML,我们会得到不同的结果:

$ wget -O /dev/null --header="Accept: application/rdf+xml" -H http://data.linkedmdb.org/resource/film/2014
Resolving data.linkedmdb.org (data.linkedmdb.org)... 128.100.1.11
Connecting to data.linkedmdb.org (data.linkedmdb.org)|128.100.1.11|:80... connected.
HTTP request sent, awaiting response... 303 See Other
Location: http://data.linkedmdb.org/data/film/2014 [following]
--2013-05-28 13:59:32--  http://data.linkedmdb.org/data/film/2014
Reusing existing connection to data.linkedmdb.org:80.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/rdf+xml]
Saving to: `/dev/null'
    [ <=>                                                       ] 11,501      --.-K/s   in 0.1s    
2013-05-28 13:59:33 (95.9 KB/s) - `/dev/null' saved [11501]

因此,请求代理可以在一次重定向中从资源的身份获取.../resource/film/2014HTML 表示.../page/film/2014或 RDF 描述。.../resource/data/2014

请注意,您不必为不同的情况提供不同的 URL 在英国沐浴水域数据集中,我们区分了资源标识.../id/..和资源描述.../doc/...。HTML、JSON 或 RDF/XML 编码没有不同的 URL - 它只取决于请求者要求的内容编码。[注意:这并不完全正确,因为您可以将.json,.ttl等附加到../doc/..URL 的末尾以获取不同的编码,但这只是为了用户方便,而不是页面 URL 和数据表示之间的根本区别]

例子:

$ wget -O - -H --header="Accept: text/turtle" http://environment.data.gov.uk/id/bathing-water/ukc2102-03600
--2013-05-28 14:10:39--  http://environment.data.gov.uk/id/bathing-water/ukc2102-03600
Resolving environment.data.gov.uk (environment.data.gov.uk)... 46.137.33.70, 54.216.25.150
Connecting to environment.data.gov.uk (environment.data.gov.uk)|46.137.33.70|:80... connected.
HTTP request sent, awaiting response... 303 See Other
Location: /doc/bathing-water/ukc2102-03600 [following]
--2013-05-28 14:10:39--  http://environment.data.gov.uk/doc/bathing-water/ukc2102-03600
Reusing existing connection to environment.data.gov.uk:80.
HTTP request sent, awaiting response... 200 OK
Length: 6351 (6.2K) [text/turtle]
Saving to: `STDOUT'

...
 bw:ukc2102-03600
      a       def-bw:CoastalBathingWater , def-bw:BathingWater ;
      def-bwp:latestBathingWaterProfile

因此,我认为您是在询问是否有必要阅读 HTML 页面以从其身份中获取有关资源的数据的链接。如果是这样,答案是否定的,你没有。仅使用 Web 浏览器查看链接数据资源可能会造成混淆,因为浏览器并没有真正为您提供请求 HTML 以外的其他表示的方法。我建议熟悉wgetcurl使用命令行。它们应该已经在 Linux 或 MacOs 系统上可用;在 Windows 上,您可以安装 cygwin 以获得一个不错的命令行!此外,阅读 HTTP 标头可能会有所帮助。

于 2013-05-28T13:20:52.757 回答