写点什么

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

  • 2010-04-26
  • 本文字数:1951 字

    阅读完需:约 6 分钟

"在我们每天所交付的所有事物背后隐藏着两大重要的主题。"关于最近在旧金山召开的 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 的所有对象都可以用同样的方式来访问:

页面: https://graph.facebook.com/cocacola (可口可乐页面) - 事件 https://graph.facebook.com/251906384206 (奥斯丁 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?

2010-04-26 04:084676
用户头像

发布了 133 篇内容, 共 41.0 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

iOS底层面试题(下篇)

程序员 面试 ios开发

数字化成潮流,运维为啥也热了?

ToB行业头条

科技互联网

向大佬学习!「mybatis查询匹配机制」,手动点赞

java小李

java 14 Mybati

携生态伙伴展示AI计算盒参考设计最新成果 英特尔点亮智能边缘广阔机遇

E科讯

《MyCat数据库的基础配置及使用》

java小李

java 14 mycat

这款开源软件绝了!1分钟即可打造了一个”黑客范“终端~

编程菌

Java 编程 程序员 项目 计算机

编辑器看看

strive

编辑器

如何借用第三方APM工具, 为移动应用保驾护航

APM

《分享几道高频 Redis 高频面试题,面试不用愁》

java小李

Redis Stream

技术解码 | GB28181协议简介及实践

腾讯云音视频

腾讯云 ffmpeg 流媒体 视频监控系统

架构训练营模块3课后作业-学生管理系统详设文档

喻高咏        

ipfs矿机最新消息?星际联盟矿机怎么样?

区块链 fil ipfs矿机 星际联盟

DeFi智能合约DAPP开发|DeFi项目源码

Geek_23f0c3

DeFi去中心化系统开发 DAPP智能合约交易系统开发

大学四年Java学习路线规划,所有私藏资料我都贡献出来了

java小李

spring Java web

深度融合,云管理平台助推政府实现“最多跑一次”改革

BoCloud博云

云计算 云管理平台 云管理

“普通本科Java程序员,如何五年存够80万买房?就靠这选择!”

java小李

java 14

他是因为什么,能在半年内从菜鸟学生成为大厂收割机?

Java架构师迁哥

MySQL高频面试题的灵魂拷问

java小李

MySQL

使用Docker在无网络环境下搭建深度学习环境

白日梦想家

左晖:凭一己之力改变了一个行业

石云升

思维模型 诚信 7月日更

GitHub标星139K的:“嵌入式Linux系统开发教程”

白亦杨

FBI 警告称,网络犯罪分子可能以 2021 年东京奥运会为目标!

郑州埃文科技

详解TCP协议与UDP协议的区别

Linux服务器开发

网络协议 Linux服务器开发 Linux后台开发 TCP协议 UDP协议

最新流行的6大优秀DevOps工具

java小李

java 14 puppeteer

四面字节跳动,终于拿下1-2级offer :Redis+分布式+微服务+算法+网络

Java 程序员 架构 面试 计算机

幸福的人在当下就活出了幸福的样子|靠谱点评

无量靠谱

华为助力高校释放能量,加速中国从开源使用大国向贡献大国转变

科技热闻

基于 Java Spring Security 的关注微信公众号即登录的设计与实现ya

哈德韦

spring security 微信公众号 Apache Pulsar SSO

被转载10W次的:Java小白系统资料和职业规划路线

java小李

java基础

一条SQL语句执行得很慢的原因盘点

北游学Java

Java MySQL

解决方案| 全民抗“灾”- 实时音视频在应急指挥场景的应用

anyRTC开发者

音视频 WebRTC 指挥调度

Facebook推出Graph API:语义网的未来?_SOA_Dilip Krishnan_InfoQ精选文章