Rdf 链接数据:获取真实数据(例如从/页面到/资源)
303问题: 如何从人类可读的Rdf 链接数据:获取真实数据(例如从/页面到/资源),rdf,semantic-web,dbpedia,Rdf,Semantic Web,Dbpedia,303问题: 如何从人类可读的/page(例如,dbpedia.org/page/Salzburg)获取URI/resource。当用户浏览/page时,我想向他显示/resource中的RDF数据(通过单击JS bookmarklet),并且只显示此资源。可能性: foaf:primarytopic http://www.w3.org/1999/xhtml/vocab#alternate 在DBpedia上,它可以与foaf:primarytopic配合使用,但是来自的数据将显示这个备用URI
/page
(例如,dbpedia.org/page/Salzburg
)获取URI/resource
。当用户浏览/page
时,我想向他显示/resource
中的RDF数据(通过单击JS bookmarklet),并且只显示此资源。可能性:
foaf:primarytopic
http://www.w3.org/1999/xhtml/vocab#alternate
foaf:primarytopic
配合使用,但是来自的数据将显示这个备用URI:(并且没有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请求(1.
/page
2./data
3./resource
)如何才能更快地获取有关资源的“真实”数据?我不确定我是否完全理解这个问题。在关联数据中,通常认为区分事物本身的特性(电影、城市、洗澡水等)和以某种符号对该资源的描述是一种很好的做法。不仅如此,这是因为您可以将描述声明与实际资源声明区分开来——例如,当描述最近更新时
根据您请求的描述的形式,您将获得已标识资源的不同表示形式。因此,以您的示例电影为例,如果我们请求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]
因此,我认为您是在询问是否有必要阅读HTML页面,以便从资源的标识获取指向该资源的数据的链接。如果是这样,答案是否定的,你没有。仅使用web浏览器查看链接的数据资源可能会令人困惑,因为浏览器实际上没有为您提供请求HTML以外的其他表示形式的方法。我建议在命令行上熟悉
wget
或curl
。它们应该已经在Linux或MacOs系统上可用;在Windows上,您可以安装cygwin以获得一个像样的命令行!此外,阅读HTTP头可能会有所帮助。我目前正在使用(完整客户端)javascript bookmarklet,需要反向来获取需要显示的数据,我知道您可以使用accept头发出的请求(我确实这样做了)但我想通过点击书签,然后自动更改视图,让资源更易于浏览。。我总是用Accept:application/rdf+xml
获取数据,但如果不是真实的“东西”,用户只是浏览数据的html表示,我将只有/page URI,需要找出真实数据的位置。我真的很难解释这个问题,希望你能理解我的意思。好的,我想我明白了。如果用户浏览的页面不在您的控制之下,我不确定是否有办法始终实现这一点。如果它们是您的页面,您可以将
嵌入到页面标题中。否则,我想您将不得不建立一个模式库,用于从特定的HTML表示中删除数据URI。这很恶心,但我看不出有多少选择。我想你可以有一个web服务,它建议在给定HTML页面URL的情况下使用一个数据URI模式,所以至少它有一点封装。如果我没有理解错的话,当你在一个关于这个东西的页面上(/resource/Salzburg
或/data/Salzburg.n3
)时,你可以搜索一种方法来查找资源URI(/resource/Salzburg
)?我想我有一个问题(然而,我的问题不仅仅是关于链接数据,而是更一般的)。
$ 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]
$ 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