关联数据:获取真实数据(从例如/ page到/ resource)

时间:2013-05-28 11:54:28

标签: rdf semantic-web dbpedia

303问题:

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

  1. foaf:primarytopic
  2. http://www.w3.org/1999/xhtml/vocab#alternate
  3. 在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. /page 2. /data 3. /resource)如何更快地获取有关资源的“真实”数据?

1 个答案:

答案 0 :(得分: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/2014的标识到HTML演示文稿.../page/film/2014或RDF描述.../resource/data/2014

请注意,您 不能为不同的案例提供不同的网址。在英国沐浴水域数据集中,我们区分资源标识.../id/..和资源描述.../doc/...。 HTML,JSON或RDF / XML编码没有不同的URL - 它只取决于请求者要求的内容编码。 [注意:这不完全正确,因为您可以将.json.ttl等附加到../doc/..网址的末尾以获取不同的编码,但这只是一个用户的便利性,而不是页面的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标头可能会有所帮助。