BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Facebook推出Graph API:语义网的未来?

| 作者 Dilip Krishnan 关注 0 他的粉丝 ,译者 黄璜 关注 0 他的粉丝 发布于 2010年4月27日. 估计阅读时间: 7 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

"在我们每天所交付的所有事物背后隐藏着两大重要的主题。"关于最近在旧金山召开的F8会议,Facebook的平台产品总监Bret Taylor在facebook开发者博客上这样写道。Facebook在大会上介绍了Open Graph协议以及Graph API,这是Facebook平台的下一步革新。

首先,Web在朝着一个基于人员之间的连接以及他们所关注的事物的模型而演化。第二,这种基于连接的Web能够更好地为用户和开发者双方构建和提供价值——底层的连接图只需要被更好的映射为一种更易于使用和互操作的方式。

Facebook为Facebook平台引入了三个新的部件,其中两个是Open Graph协议和Graph API。该API提供了对人员,相册,事件等等Facebook对象以及这些对象之间诸如朋友,标签,分享内容等等连接之间的访问,通过一个统一而稳定URI来访问其表象。每个对象都可以通过https://graph.facebook.com/ID这样的URL来访问,而这里的ID则表示该对象在社交图当中的唯一ID。而facebook对象所支持的每个连接(CONNECTION_TYPE),可通过使用https://graph.facebook.com/ID/CONNECTION_TYPE这样的URL来查看。

下面是从 Graph API页面摘录的一些使用标识符来访问facebook对象(资源)的URI的例子。它从比较高的层次演示了可以如何去使用这些API。

Facebook的所有对象都可以用同样的方式来访问:

[…]

Facebook社交图包含的所有对象两两间都通过关系而连接起来。Bret Taylor是可口可乐页面的粉丝,而Bret Taylor和Arjun Banker是朋友。我们在API中将这种关系叫做联系。你可以使用这种的URL结构https://graph.facebook.com/ID/CONNECTION_TYPE来查看对象之间的这种联系。人员和页面所支持的联系包括:

这一URI同时还有一个特殊的标识符me,指代当前的用户。Graph API使用OAuth 2.0来进行授权的(the 授权指南 对Facebook的OAuth 2.0实现进行了详细的说明)。

OAuth 2.0是OAuth的简化版本,利用了SSL来进行API通讯,而不是依赖于复杂的URL签名模式和令牌交换。从高级的层面上来说,使用OAuth 2.0需要通过转接到Facebook为Facebook用户获得一个访问令牌。在你获得这个访问令牌之后,你可以通过将令牌包含在Graph API请求当中,以该用户的名义来执行授权请求:

网络上的反响普遍是积极的。在一篇名为“超媒体不再复杂”的博文中,Subbu Allamaraju表示,

阅读Facebook Graph API是一种快乐。它避免了行业里许多主流厂商所提供的Web服务所陷入的困境。Facebook的API是简单,一致并且交互连接的。这正是web真正的精髓所在。

他指出协议和graph API是如何来利用超媒体的能力并证明构建连接资源的简单表象的;在这一例子中,Facebook对象图不需要这么复杂,比如,对于不同类型的资源,API有些部分可以使用不同的服务来获得,而其它的一些部分则是基于AtomPub协议,以及GData或OData等等扩展。

Ars Technica对于这一声明表示欢迎,认为这是走向开放标准的重要一步。

Facebook迈向开放标准以及API的进步,是由在过去一年加入该公司的一些关键人物所推动的。Facebook聘用了著名的标准化人士David Recordon,OAuth以及Atom Acitivity扩展的作者之一。而去年并购中加入Facebok的FriendFeed工程师,也在Facebook开发平台进步的背后提供了极大的帮助。

现受雇于Facebook的David Recordon在O'Riely Radar上说明了为什么这些API将会为开放Web带来益处,并强调他为之激动不已的那些变化;比如实时API等特性,对于OAuth 2.0的支持,以及开放者不再受24小时缓存的限制。他表示:

对于技术人员来说容易仅仅从技术层面去思考开放,但开放性要比这更广泛。技术的开放性意味着其它人可以使用你所使用的同样的工具来构建。而数据的开放性意味着开发者可以基于API来构建以前不可能实现的创新性的产品。而人员之间的开放性则意味着当所有的这些能结合起来时,能为人们带来更好的分享信息的方法。

根据ReadWriteWeb一篇文章的说法,这对于语义网将有可能产生深远的影响。

Facebook的声明对我个人而言最激动人心的部分是语义化Web的一种可能的突破。

要了解关于如何利用这一API的更多细节,请查阅 开发者API文档

附:Mark Zuckerberg和Bret Taylor在F8上所作的Keynote

查看英文原文:Facebook's Graph API: The Future Of Semantic Web?

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

一个翻译笔误? by Ma Tobey

首先,Web在朝着一个基于人员之间的连接以及他们所关注的事物的模型而演化。

Re: 一个翻译笔误? by Huang Huang

谢谢指出!已改正。

The Future Of Semantic Web? by Liu GuangSheng

仅仅是一种作为web资源的描述方式,就称为是Semantic Web的未来,这过于托大了吧。否则,w3c也没必要搞这东西这么多年。这些类rdf的东西说白了定义了如何对资源进行描述、标注,这玩意只是基础,后面的基于语义的推理才是关键。何况通过url表示关联就有语义含义了?这东西仅仅是针对资源的web服务。

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

3 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT