我对网站的语义有点糊涂。 据我所知,每一个URI应代表的ressource。 我认为通过RDFa的网页内提供的所有信息描述该网页的URI代表的ressource。 我的问题是:什么是一个网站的子页面提供语义数据的最佳做法。
在我来说,我想创建一个使用RDFa使用schema.org和opengraph词汇叫做岩浆剧团网站。 比方说,我有欢迎页面( http://magma.com/
),联系人页面( http://magma.com/contact/
)和个人戏剧页( http://magma.com/play/<playid>/
)。
现在我认为,无论是欢迎页面和联系页面表示相同的ressource(岩浆),同时提供有关的ressource不同的信息。 然而,游戏网页代表剧目,只有发生在岩浆中进行。 还是不如说是玩网页也代表了岩浆,但提供有关将由该组来进行播放信息? 我偶然发现了第三个选项是http://schema.org/WebPage 。 特别喜欢亚型ContactPage
似乎是相关的。
当涉及到执行,你在哪里我把RDFa的?
最后:我的选择将如何改变该网站是由第三方处理方式(谷歌,Facebook,...)?
我知道这个问题有点模糊。 为了使它更具体的我要补充一个例子,你可能critizise:
<html vocab="http://schema.org/" typeof="TheaterGroup">
<head>
<meta charset="UTF-8"/>
<title>Magma - Romeo and Juliet</title>
<!-- magma sematics from a template file -->
<meta property="name" content="Magma"/>
<meta property="logo" content="/static/logo.png"/>
<link rel="home" property="url" content="http://magma.com/"/>
</head>
<body>
<h1>Romeo and Juliet</h1>
<!-- semantics of the play -->
<div typeof="CreativeWork" name="Romeo and Juliet">
...
</div>
<h2>Shows</h2>
<!-- samantics of magma events -->
<ul property="events">
<li typeof="Event"><time property="startDate">...</time></li>
...
</ul>
</body>
</html>
据我所知,每一个URI应代表的ressource。 我认为通过RDFa的网页内提供的所有信息描述该网页的URI代表的ressource。
那么,一个HTTP URI可以识别页面本身或页面是关于事。 你不能告诉如果一个URI通过简单地看它标识页面或东西。
实施例(在龟语法):
<http://en.wikipedia.org/wiki/The_Lord_of_the_Rings> ex:author "John Doe"
这可能意味着,与URI的HTML页面http://en.wikipedia.org/wiki/The_Lord_of_the_Rings
是“李四”撰写。 或者,它可能意味着由HTML页面(→小说)中描述的事情是“李四”撰写。 当然,这是一个重要的区别。
有多种方法来区分一个URI代表什么,并且有一些关于它的争议。 解决这个问题的讨论被称为httpRange-14的问题 。 例如,见维基百科的文章Web资源 。
一种方法是使用哈希的URI( 也看到这个答案 )。 例如: http://magma.com/play/42
可以识别页面与该剧有关的, http://magma.com/play/42#play
能识别播放 。
另一种方法是使用HTTP状态代码303。 代码200
给出了页面的表现有关的东西,代码303 See Other
给出了一个额外的URI标识的东西。 该方法用于通过DBpedia中:
见303和Hash之间进行选择 。
现在,使用RDFa的时候,你可以对两个语句,页面本身和页所代表的东西。 只要使用相应的URI作为受试者(例如,通过使用resource
属性 )。
所以我们可以说http://magma.com/#magma
代表的戏剧团体。 现在,你可以在每一页上使用URI(/接触,/播放/ ...),以使有关该组的RESP语句。 来指代基。
<div resource="http://magma.com/#magma">
<span property="ex:name">Magma</span>
</div>
<div resource="http://magma.com/">
<span property="ex:name">Website of Magma</span>
</div>
我建议你先看看schema.org简单的文档 。 这个词汇是您的关注非常全面,并通过各大搜索引擎支持。
这里是一个片段例如你上手,你可以包括这条直线在HTML页面中。 当你谈论的,你可以使用页面上性能的发挥:
<div itemscope itemtype="http://schema.org/TheaterEvent">
<h1 itemprop="name">Romeo and Juliet</h1>
<span itemprop="location">Council Bluffs, IA, US</span>
<meta itemprop="startDate" content="2011-05-23">May 23
<a href="/offers.html" itemprop="offers">Buy tickets</a>
</div>
在您的联系人页面,你可以包括:
<div itemscope itemtype="http://schema.org/TheaterGroup">
<span itemprop="name">Magma</span>
Tel:<span itemprop="telephone">( 33 1) 42 68 53 00 </span>
</div>