HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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:084425
用户头像

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

关注

评论

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

一文了解预训练语言模型!

博文视点Broadview

在Spring Bean实例过程中,如何使用反射和递归处理的Bean属性填充?

小傅哥

Java spring 小傅哥 反射调用 属性填充

有点难的 webpack 知识点:Dependency Graph 深度解析

范文杰

webpack 6月日更

面试系列-2 redis列表场景分析实践

李阿柯

php 面试 redis cluster

Spring Boot FatJar类加载机制简要分析

luojiahu

Spring Boot 类加载 ClassLoader FatJar

致恰达耶夫,致鸿蒙

脑极体

react源码解析4.源码目录结构和调试

全栈潇晨

React Hooks react源码

实现多级缓存架构设计方案

xcbeyond

缓存 缓存架构 6月日更

详解Camtasia的注释功能

淋雨

视频剪辑 Camtasia 录屏

HarmonyOS 2正式发布 硬件生态品牌HarmonyOS Connect一同亮相

科技汇

手把手教你在IDEA中配置Maven

打工人!

Java maven 6月日更

中断Hwi:提高鸿蒙轻内核系统实时性及执行效率的秘密武器

华为云开发者联盟

鸿蒙 硬件 中断 鸿蒙轻内核 中断信号

【Flutter 专题】114 图解自定义 ACEProgressPainter 对比进度图

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 6月日更

BZZ算力挖矿系统开发功能丨BZZ算力挖矿源码设计

系统开发咨询1357O98O718

你们公司的数据库出过问题么?

escray

学习 极客时间 朱赟的技术管理课 6月日更

关于第四次财富狂潮的思考,区块链如猛虎出笼?

CECBC

【Vue2.x 源码学习】第二篇 - Vue的初始化流程

Brave

源码 vue2 6月日更

深圳首辆数字人民币主题观光巴士亮相

CECBC

Hello Python! 第一天学 Pyhton 语言

在即

6月日更

直击Huawei Mate 40产线背后的华为云IoT智能制造

华为云开发者联盟

IoT 数字化转型 数字孪生 华为云IoT

情指勤一体化指挥调度平台搭建,情报研判分析系统搭建

分治(详解残缺棋盘 —— Java代码实现)

若尘

算法 分治 java代码 6月日更

ARTS- 日常打卡5

pjw

Redis数据结构

邱学喆

数据库 redis 跳跃表

GrowingIO 前端团队对于 GraphQL 的实践总结

GrowingIO技术专栏

大前端 graphql

“扯皮”终结者,区块链帮农民工计薪水

CECBC

React Hooks - 如何安全地使用state

蛋先生DX

大前端 React React Hooks JavaScrip 6月日更

k8s 插件管理工具之krew使用

雪雷

6月日更

Dubbo SPI

青年IT男

dubbo

微博评论的高性能高可用计算架构设计

唐高为

面试系列-3 限流场景实践

李阿柯

php lua redis 面试 限流算法

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