介绍和实例

eureka | 2004/01/02 - 03:02

网络相对技术产物来说更象是社会产物。我为了社会作用设计它——帮助人们一起工作——而不是一种技术玩具。网络的最终目标是支持和改善世界上象网络一样的生存。我们丛生于家庭,组织和公司里。我们改善距离千里之外的信任,以及在对面的不信任(有缘千里来相会,无缘对面不相逢)。


Tim Berners-Lee, 编织网络


介绍


XFN 把人们放到链接上,当很多人开始在线并开始组织社会网络,象Technorati
Feedster服务的兴起就是尝试显示多种不同的节点是如何连结在一起的。 这样的服务对于发现节点间的机械连接很有用。但他们没有揭开对这些节点后面的人类关系。


XFN 描绘了利用定义关于个人之间的关系的一小套的值来描述个体之间的关系。在HTML和XHTML文档里,这些作为超链接属性rel的值给出。 XFN 允许作者指出哪些网志是属于他们亲身接触到朋友及和其它人的关系。使用任何顺序排列XFN值,人们可以让他们的blog链和链接页面更有人情味,这两者已经是网志的共同特性。

在足够时髦的浏览器里,使用XFN值的作者可以容易的把特殊类型的链接风格化,这样朋友可以加粗显示,同事可以是斜体等等。创建者还希望这个习惯能被广泛推广,这样就可以允许他们制作链接于其网志后面的个人关系图表(相对于纯机械)。

例子


一个短的Blog链

Joe正着手进入它的Blog世界,在他的Blog链上有五个链接:
他的女朋友Jane;
他的朋友 Dave 和 Darryl;
产业专家 James, Joe在一个讨论会上遇见过一次。
和MetaFilter.


在Joe的Blog链象这样:

<a href="http://jane-blog.example.org/" rel="sweetheart date met">Jane</a>
<a href="http://dave-blog.example.org/" rel="friend met">Dave</a>
<a href="http://darryl-blog.example.org/" rel="friend met">Darryl</a>
<a href="http://www.metafilter.com/">MetaFilter</a>
<a href="http://james-blog.example.com/" rel="met">James专家</a>

MetaFilter 因没有表示一个实际的人时还没有值。列表的其它给予一个有空格分开的适于链接目标的值。这样,当Joe与他的小甜心Jane约会时(也许无须惊讶她是他亲自遇上的),他给她的链接值sweetheart date met。如果Joe没有终于Jane,并实际上与有时其它人约会。则值sweetheart就被拿开。

两者间的链接

Adam和Brad通过个自的熟人相识。通过聚会上的几次谈话他们发现有共同兴趣。他们按如下相互链接:

<a href="http://brad-log.example.org/" rel="met friend">Brad</a>

<a href="http://adam-log.example.org/" rel="met acquaintance">Adam</a>

注意象friend的值的定义是相称的,这样不需Blogs之间的链接是同一类型的。这里,Adam觉得Brad是一个朋友,但Brad把Adam作为一个熟人。


同样,对称值可能是单向的,例如,假如Adam决定迷恋Drad。然后他更新他的链接如下:

<a href="http://brad-log.example.org/" rel="met friend crush">Brad</a>

如果Brad没有吸引Adam,显然,他不想把类似的值加到他到Adam的链接上。如是是的话,他可以添加crush 的值到他到Adam的链接上。 任何得用XFN值作表的服务能注意到这个,把他们的值加到“相互吸引”列表里。更高级的服务可通知Adam和Brad并指出他们看来是相互吸引的。


五人的团体e

让我们考虑五人闭群,所有人互相链接但不链到其它地方。该组的成员为:



Ingrid
与Mary一起工作,Mary 和Josh的朋友, Kat的熟人,
并亲身与Nick之外的人相识。
Josh
Kat的儿子, Ingrid 和 Nick 的朋友,迷恋Mary (他相识并心有灵犀)
Kat
Josh的妈妈; Mary的朋友; 与Ingrid和 Mary在同一领域但不在同一公司工作,是Nick的熟人
Mary
同Ingrid一起工作; 是Ingrid和 Kat的朋友; 认只所有人
Nick
迷恋于Kat并认识;不认识Ingrid

我们再假设所有这些人都在blogging, 并有Blog链列出所有该组中的其它成员。在第一个例子中,Ingrid将有以下链接:

<a href="http://josh.example.com/" rel="friend met">Josh</a>
<a href="http://kat.example.com/" rel="met acquaintance">Kat</a>
<a href="http://mary.example.com/" rel="co-worker friend met">Mary</a>
<a href="http://nick.example.com/">Nick</a>

注意Nick的rel属性空缺。因没有XFN值定义给Nick(从Ingrid的观点来看,所以无需rel。如果Ingrid 和 Nick 没有亲自认识。她可以简单的把rel="met" 加到链接上。


在这些组成员之间的 rel值如下:




















...to Ingrid ...to Josh ...to Kat ...to Mary ...to Nick
From Ingrid...xfriend
met
acquaintance
met
co-worker
friend
met
From Josh...friend
met
xparent
met
crush
muse
met
friend
met
From Kat...colleague
met
child
met
x
friend
colleague
met
acquaintance
met
From Mary...co-worker
friend
met
met
friend
colleague
met
x
met
From Nick...friend
met
crush
met
met
x

这一套关系还可以用不同的方法用图形表示。
















例如,一个简单的相互认识图表象这样

src="http://gmpg.org/xfn/pix/intro/five-met.gif" width=175>

还可能把朋友关系和熟人链接如图表示。在该图形中,绿色线表示了朋友关籀»,线灰线表示熟人关系。如果一条线是虚线或有箭头,则该链接是单向的。也就是他们两人中只有一个声明了该关系。


src="http://gmpg.org/xfn/pix/intro/five-acqfr.gif" width=175>

同样,我们可以作更专业的关系图。这里,厚灰线表示同事,线灰线表示校友。象前面一样,带箭头虚线表示一个单向链接。

src="http://gmpg.org/xfn/pix/intro/five-prof.gif" width=175>

这样,组成员的爱人和家族链接能被表现为家族链接。这里,红线表示爱恋,绿线表示家庭链接。在这个假定里,家族关系从父亲画到孩子。

src="http://gmpg.org/xfn/pix/intro/five-lovefam.gif" width=175>

还有很多其它的方法来画组图,当然,有很多方法来表示链接。我们认为家庭成员之间的线就象一条双螺旋线,例如.


关系的样式

利用 认识CSS2的浏览器, 可以基于他们的rel 值对链接进行格式化(样式)。让我们再重新看一下Ingrid的链接:

<a href="http://josh.example.com/" rel="friend met">Josh</a>
<a href="http://kat.example.com/" rel="met acquaintance">Kat</a>
<a href="http://mary.example.com/" rel="co-worker friend met">Mary</a>
<a href="http://nick.example.com/">Nick</a>

假设Ingrids想把任何朋友的链接做成粗体,对同事的链接加下划线,对其它熟悉的人做成斜体。使用
href="http://www.w3.org/TR/CSS21/selector.html#attribute-selectors">在CSS2.1中定义的属性选择器语法 , 以下的样式表可以满足他的目的:

a[rel~="friend"] {font-weight: bold;}
a[rel~="co-worker"] {text-decoration: underline;}
a[rel~="acquaintance"] {font-style: italic;}

The resulting links would look something like this:


Josh
class="met acquaintance">Kat
class="co-worker friend met">Mary
Nick

还可以使用增强CSS2来在元素后面插入内容。这可以用来重建“打星”的习惯的链接到新身认识的人如下::

a[rel~="met"]:after {content: " *";}

这将给每个有XFNmet值的链接后面插入一个空格和一个星号。其优点是在同时加强社会网络时不需手工在Blog链里的源文件里添加星号了。把该规则加到Ingridr的链接可以产生象这样的效果:



Josh *


Kat *


Mary *


Nick

对网络爬虫的简要说明


一个 XFN 蜘蛛或爬虫程序必须至少:



  1. 按他们所接触的语言解析文档(如以前的HTML,或良好的作为XML的XHTML)。
  2. 按他们文档语言的"base" URL约定(例如<BASE>, <base />, xml:base).
  3. 用XFN里定义的'rel'属性值根踪链接标记(如 <a href>, <link />) 而略去不认识的值。注意HTML 'rel' 属性是以空格分开的一套值。
  4. 穿梭于这些链接标记并按上面所描述的解析他们的文档。

伟大的妄想


  1. XFN 提供个人链接的世界范围分布式网络的基石。象Friendster这些私有的数据服务可能被XFN爬虫或搜索——象类似于“Friendorati”的站点所代替。Friendorati类型站网络的优点是允许个人完全通过个人网志和网站完全的表述他们自己,而不是局限于私有服务的用户界面上。
  2. 象Amazon这些商业服务,现在要求用户为“wish list”手工注册他们的朋友来更容易的共享其它信息。现在可以更容易的通过开放的Internet简单的爬取XFN关系。这允许用户输入他们站点的URL。并让服务程序性的分析XFN关系来构建朋友表单。

发表新评论

该字段的内容是私密的将不会被公开显示。
  • 自动生成换行和段落标记。
关于输入格式化选项的更多信息
Google搜索

搜索互联网 搜索本站


赞助商链接

用户登录

广告

浏览归档
« 十一月 2008  
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            

导航

友情链接

信息联合
Syndicate content

谁在线
当前有0 位用户和0 来客在线。