社交网络系统上的结构对象和动作的制作方法

文档序号:6497363阅读:546来源:国知局
社交网络系统上的结构对象和动作的制作方法
【专利摘要】一种社交网络系统包括用于将用户对社交网络系统之外的对象的动作整合到社交图谱中的机制。外部系统操作员包括在由用户设备执行时记录对应于动作和对象的定义结构的用户交互的窗口小部件。第三方操作员利用由社交网络系统提供的工具来定义动作和对象的结构。由社交网络系统记录外部动作以公布到社交图谱上。
【专利说明】社交网络系统上的结构对象和动作
【技术领域】
[0001]本发明整体涉及社交网络,具体地,涉及限定社交网络系统上的结构对象和动作。【背景技术】
[0002]因为社交网络系统提供用户能够连接到并且与其他用户进行通信的使用环境,所以近年来,社交网络系统变得比较普遍。尽管存在各种不同类型的社交网络系统,然而,这些系统通常提供允许用户在其社交网络中进行定义和交互的机制。在该背景中,用户可以是个体或者任何其他实体,诸如企业或者其他非个人实体。因此,尽管朋友之间能够进行社交通信,然而,社交网络系统还可以是用于企业吸引潜在客户的宝贵工具。即使不是出于商业目的,社交网络系统也可允许其他类型的实体传播其消息。例如,非个人实体可设置其他用户可能“喜欢”或者关联至的页面或者组,这使得非个人实体能够提供接收通信并且将通信发送给感兴趣用户的组的论坛。
[0003]有用社交信息可从概念上保存在通过边(edge)相互连接的节点的“社交图谱”中。社交图谱中的各个节点表示能够作用于和/或由另一个节点作用的某事物。节点的常见实施例包括用户、非个人实体、内容项、组、事件、位置、消息、概念以及能够由社交网络系统中的对象表示的任何其他事物。社交图谱中两个节点之间的边表示两个节点之间由节点中的一个对另一节点执行的动作所生成的某种连接。
[0004]例如,如果一名用户与社交网络系统中的另一用户建立连接,以节点表示用户,并且其之间的边表示建立的连接。继续该实施例,一名用户可将一条消息发送给社交网络系统内的另一用户。发消息的动作表示两个节点之间由社交网络系统识别的另一边。消息本身可视为一个节点。在另一实施例中,一名用户可加标签于由社交网络系统保存的图像中的另一用户。该加标签动作也是一个节点,可在用户之间建立边以及在各个用户与图像之间建立边。在又一实施例中,如果用户确认参加一个事件,则该用户和该事件均是节点,其中,对该事件的参加是边。因此,社交网络系统可使用社交图谱保持多种不同类型的对象以及这些对象之间的交互和连接,从而生成极其丰富的存储的社交相关信息。
[0005]现实世界中的社交交互,诸如驱车周游全国、走访地标等,尽管听上去在自驾游中发现了与其他朋友的声迹,然而,社交网络系统不能充分捕获这种声迹。在讨论社交图谱的背景下能够阐释这个问题。如果某事物不能由第一地点中的节点表示,则其他节点也不能够与其交互,从而使得社交网络系统能够发现这些节点之间的边。例如,一个人可能在因特网无线电台上收听舞曲,同时跟她的朋友在公园慢跑。多种外部系统和网站可用于捕获该条信息,包括主题曲、艺人、流派、位置、旅行英里数以及跑步的持续时间。如果希望找到用户在外部系统上收听的音乐的艺术家和流派,则该信息将不得不通过外部系统被提供给社交网络系统。目前,外部系统上的用户将手动分享该信息给社交网络系统。这就在使用外部系统分享播放音乐时受到限制。此外,如果外部系统不支持该特性,则用户就不能与社交网络系统上的其他用户分享音乐。将社交网络系统开放给可从诸如收听音乐等的外部现实世界的交互收集的无限量信息还能够为社交网络系统的用户提供非常多的内容项。尚未生成有效机制来将该信息呈现给社交网络系统的用户。
[0006]因此,需要一些机制来定义社交图谱的自定义结构,包括动作和对象,从而使得社交网络系统发现有关这些现实世界的社交交互的信息并且将该信息分享和整合到社交网络用户体验中。

【发明内容】

[0007]为使得社交网络系统能够发现有关对象及其交互的社交相关信息,本发明的实施方式提供了这样一种灵活的机制,即,将用户对社交网络系统之外的对象的动作整合到社交网络系统上的用户体验中。例如,能够使用户在外部系统上播放流音乐的音乐服务可被整合到社交网络系统上的用户体验中。除了社交网络系统的管理员之外,第三方开发人员可定义下列对象和动作,即,该对象和动作能够使用社交网络系统整合被播放和受控制的外部音乐来源,同时还提供社交相关信息给社交网络系统的其他用户。具体地,本发明的实施方式能够使得由诸如网站、应用程序以及企业系统等的外部系统的第三方开发人员定义图谱动作类型和图谱对象类型,通过URL、URI或社交网络系统的域外部的因特网或者其他网络上的任何其他地址可访问该外部系统。基于定义的图谱动作类型和图谱对象类型来构建图谱动作和图谱对象以能够进行累计查询和结构查询,从用户交互中记录该图谱动作和图谱对象并且将其报告给社交网络系统。图谱动作和图谱对象的这些关联性提供可在社交图谱上发现的数据可视化信息。图谱动作和图谱对象还可被翻译成如何基于图谱动作类型和图谱对象类型的定义来对图谱对象执行图谱动作的文本描述。可存储有关其信誉的外部系统或者社交网络系统的外部实体。除了观看用户的偏好和喜好之外,这些信誉分数可能影响从图谱动作和图谱对象中生成的内容项的排列。以此方式,社交网络系统的域的内部或者外部有关用户动作的兴趣信息可被共享并且与社交网络系统上的其他用户相比较。
[0008]图谱动作类型和相关联的图谱对象类型可由社交网络系统的外部实体定义。在一种实施方式中,用户界面可使得包括外部系统第三方开发人员的这些实体建立图谱动作类型和相关联的图谱对象类型,因此外部系统中用户的交互可作为社交网络系统中社交图谱上的图谱动作和图谱对象而被捕获。除社交网络系统之外,多个外部系统可利用定义的图谱动作类型和相关联的图谱对象类型来生成用于显示给社交网络系统的用户的内容项。基于包括在图谱动作类型和相关联图谱对象类型的定义中的动词时态和名词形式,在内容项中可自动生成对图谱对象执行的图谱动作的文本描述并且显示给社交网络系统的其他用户。内容项包括由社交网络系统的用户生成的图谱动作和图谱对象,该内容项可被排列成结合观看用户的偏好、定义图谱动作类型和图谱对象类型的实体的信誉分数以及用户对实体的喜好分数。排列的内容项确保社交网络系统的用户观看包括由外部实体定义的图谱动作和图谱对象的相关信誉内容项。在一种实施方式中,社交网络系统通过汇集由用户执行的用于显示给社交网络系统中其他用户的图谱动作和图谱对象,可将有关诸如流音乐和视频等的多媒体应用程序的图谱动作和图谱对象整合到用户体验中。
[0009]例如,能够通过嵌入在网页中的窗口小部件来记录由社交网络系统的用户在外部系统的网页中执行的交互,诸如收听播放列表的歌曲、购买礼物、读书、将新作品添加到阅读列表中以及跑马拉松等。通过基于图谱动作类型和图谱对象类型的定义记录交互的窗口小部件可生成动作日志。对象与用户之间的这些边或者交互可公布到社交图谱上并且作为社交网络系统中的新闻递送或者流中的内容项来显示。创建动作日志的窗口小部件可以批处理或者以实时方式将动作日志传送给社交网络系统。在另一实施方式中,社交网络系统可“搜刮”外部系统以检索到动作日志中的记录动作。内容项表示用户已经在网页内执行对对象的结构化动作,且基于对应图谱动作类型和图谱对象类型的定义从接收的图谱动作和相关联的图谱对象中生成内容项。
[0010]由于将结构化动作和对象公布到社交网络系统上,诸如收听歌曲、购买书籍、阅读新作品、将产品添加到购物清单中以及在奔跑过程中慢跑等,基于对应图谱动作类型和图谱对象类型中定义的动词时态和名词形式,在社交网络系统中可自动生成有关结构化动作的故事或者描述。一旦社交网络系统接收到外部系统中用户的交互,社交网络系统可更新用户的资料,以添加与被作用对象的关联性,将该动作发帖给用户联系人,和/或当用户与社交网络系统中的对象交互时适用的任何响应组合。
[0011]在一种实施方式中,对象被定义为社交图谱中的节点,以将作为社交图谱中的动作被捕获并且实施为边的诸如网站等外部系统中的用户交互整合到社交网络系统中。可通过由标记语言文档编码的该网站上的网页来描述对象,网页浏览器应用程序能够使用该标记语言文档渲染和显示用户设备上的网页。标记语言文档包括一个或者多个标签,一个或者多个标签包括识别网页上对象的信息。在一种实施方式中,标签可提供文本标题、标注、对象独有的标识符、微格式和/或有关对象的描述,以及诸如对象类型的其他信息。在另一实施方式中,可以诸如数据库或者平面文件等的其他格式描述对象,其中,描述对象的标签包括在数据库中。在一种实施方式中,窗口小部件由第三方开发人员嵌入在网站上的各个网页中,可由用户设备上的浏览器应用程序执行。在另一实施方式中,窗口小部件可嵌入到在用户设备上运行的应用程序,从而使得应用程序编程接口(interface,界面)(API)调用外部系统和社交网络系统。窗口小部件包括指令或者编程逻辑以记录用户对网页的交互,以用于整合到社交图谱中。以此方式,用户与社交网络系统外部的网页的交互可在社交图谱上生成用于整合到社交网络系统中的对象和动作。社交图谱对第三方开发人员的有力开放进一步鼓励了开发和定义复杂且丰富的社交图谱。
[0012]在另一实施方式中,用户设备请求来自在社交网络系统外部并且可独立于社交网络系统的网站服务器的网页。服务器将包括指令的标记语言文档发送给用户设备,该指令用于使浏览器应用程序在用户设备上运行以将从社交网络系统中获得的信息整合到网页中并且还捕获网页内对指定对象的结构化动作,诸如单击标记语言文档中加标签的链接和按钮。在一种实施方式中,该指令在包含直接从社交网络系统中犹取的内各的网页内创建一个巾贞(frame,框架)(例如,内嵌框架(iframe))。由社交网络系统提供的巾贞的内容包括从公布到社交图谱上的自定义动作和对象中查询的信息。例如,该信息可包括用户最经常收听的歌曲、最佳艺人、最佳流派、以及收听的音乐等、连接到社交网络系统用户的其他用户最经常阅读的文章、或者甚至社交网络系统中所有用户在CA的Palo Alto慢跑时最常分享的路线。该帧还可包含与用户和节点相关的社交信息,诸如对社交网络系统中也已执行该动作的一个或者多个用户的连接的指示,诸如购买关于电子阅读器的杂志、安装游戏应用程序以及在电子商务网站上创建玩具熊。在一种实施方式中,用户指定查询和模板查询可用于填充帧内容。
[0013]因此,本发明的实施方式能够使得社交网络系统将用户在外部系统上执行的任何概念和动作整合到社交网络系统的用户体验中,诸如从多个外部系统创建和分享音乐的播放列表,基于其在社交网络系统上的联系人的收听习惯推荐音乐给用户,以及使用社交网络系统的连接协作收听无线电台,以及与连接到在新闻网站上阅读的用户作品、在视频流网站上观看的视频以及通过外部系统应用程序执行并且记录的锻炼的其他用户自动分享。因为不同的外部系统可托管音乐流网站、视频流网站、新闻汇集网站等,所以社交网络系统可使用由社交网络系统的管理员定义的结构化对象和动作使得与外部系统的交互被整合到社交网络系统的用户体验中,以精简过程。例如,用户可使用诸如RDIO等具体的音乐服务来收听播放列表的歌曲,并且该动作可与用户在社交网络系统上的联系人共享。因为社交网络系统通过名称、艺人姓名以及歌曲持续时间自动映射歌曲对象,所以另一用户可使用诸如Spotify等的不同的音乐服务来收听同一播放列表的歌曲。换言之,社交网络系统可使用对象标签将交互整合到社交网络系统的体验中。同样,用户在诸如Netflix等的一种服务上观看的视频可与社交网络系统中在诸如Hulu等的另一服务上观看视频的另一用户共享。此外,用户在诸如纽约时报等的一种报纸网站上阅读的新闻故事可由另一用户在诸如美联社等的不同的报纸网站上阅读。外部用户交互与社交网络系统的这种整合能够使社交网络系统更多地了解其用户的偏好,包括选择的音乐、观看的视频流派、阅读的新作品、购买的产品、玩的游戏等。出于(例如,发布活动反馈、宣传广告等)各种目的,可创建该信息的可视化来提供社交相关信息。
【专利附图】

【附图说明】
[0014]图1A是根据本发明的实施方式的用于构建外部用户动作以公布到社交网络系统上的系统网络图。
[0015]图1B是根据本发明的实施方式的用于排列从社交网络系统之外的外部用户动作生成的图谱故事的过程的高级框图。
[0016]图2是根据本发明的实施方式的社交网络系统的示图。
[0017]图3A是根据本发明的实施方式的表示社交网络系统之外的外部用户动作的定义的图谱结构的高级框图。
[0018]图3B至图3J是根据本发明的实施方式的用于定义表示社交网络系统之外的外部用户动作的图谱结构的应用程序的屏幕截图。
[0019]图4是根据本发明的实施方式的用于构建社交网络系统之外的用户动作的过程的交互图。
[0020]图5A至图示出了根据本发明的实施方式的包括用于构建社交网络系统之外的用户动作的窗口小部件的外部系统的网页的实施例。
[0021]图6示出了根据本发明的实施方式的图谱内容项排列模块的高级框图。
[0022]图7示出了根据本发明的实施方式的在社交网络系统上的将图谱对象和图谱动作整合到社交网络系统中的用户界面的实施例。
[0023]附图仅出于说明性之目的描述了本发明的各种实施方式。本领域技术人员将从下列讨论中很容易认识到在不背离本公开中所描述的发明原理的情况下,可采用本公开中示出的结构和方法的可替代实施方式。【具体实施方式】
[0024]社交网络系统架构概述
[0025]图1A是用于构建外部用户动作以公布到社交网络系统130上的系统100的一种实施方式的网络图。系统100包括一个或者多个用户设备110、一个或者多个外部系统120、社交网络系统130以及网络140。出于说明性之目的,图1所示的系统100的实施方式包括单一的外部系统120和单一的用户设备110。然而,在其他实施方式中,系统100可包括多个用户设备110和/或多个外部系统120。在某些实施方式中,由社交网络供应商操作社交网络系统130,而外部系统120独立于社交网络系统130之处在于外部系统120可由不同的实体操作。然而,在各种实施方式中,社交网络系统130和外部系统120—起操作以将社交网络服务提供给社交网络系统130的用户。在这种意义上,社交网络系统130提供了一种平台或者基础,诸如外部系统120等的其他系统可使用该平台或者基础将社交网络服务和功能提供给因特网用户。
[0026]用户设备110包括能够从用户接收输入并且能够经由网络140发送和接收数据的一个或者多个计算设备。在一种实施方式中,例如,用户设备Iio是执行MicrosoftWindows兼容的操作系统(OS)、Apple OS X和/或Linux分布程序的常规计算机系统。在另一实施方式中,用户设备110可以是诸如个人数字助理(PDA)、移动电话、智能手机等的具有计算机功能的设备。用户设备110被配置为经由网络140进行通信。例如用户设备110能够执行浏览器应用程序等应用程序,该应用程序允许用户设备110的用户与社交网络系统130交互。在另一实施方式中,用户设备110通过运行在诸如iOS4和ANDROID等的用户设备110中的本机操作系统上的应用程序编程界面(API)与社交网络系统130交互。用户设备110被配置为使用有线和无线通信系统经由网络140与外部系统120和社交网络系统130进行通信,网络140可包括局域网和/或广域网的任一组合。
[0027]在一种实施方式中,网络140使用标准的通信技术和/或协议。因此,网络140可包括使用诸如以太网802.11、微波存取全球互通(WiMAX)、3G、4G、CDMA、数字用户线路(DSL)等技术的链接。同样,在网络204中使用的网络协议可包括多协议标签交换(MPLS)、传输控制协议/因特网协议(TCP/IP)、用户数据报协议(UDP)、超文本传输协议(HTTP)、简单邮件传输协议(SMTP)以及文件传送协议(FTP)等。使用包括超文本标记语言(HTML)和可扩展标记语言(XML)的技术和/或格式能够表示在网络140上交换的数据。此外,使用诸如安全套接层(SSL)、传输层安全(TLS)以及因特网协议安全(IPsec)的常用加密技术能够对所有或者某些链接进行加密。
[0028]在一种实施方式中,用户设备110通过使用浏览器应用程序112处理从外部系统120或者从社交网络系统130接收的标记语言文档114来显示来自外部系统120或者社交网络系统130的内容。标记语言文档114识别内容和描述格式化或者内容呈现的一个或者多个指令。通过执行包括在标记语言文档114中的指令,浏览器应用程序112使用由标记语言文档114所描述的格式或者呈现来显示识别的内容。例如,标记语言文档114包括用于生成和显示具有多个帧(frame,框架)的网页的指令,该多个帧包括从外部系统120和/或社交网络系统130检索的文本和/或图像数据。在各种实施方式中,标记语言文档114包括数据文件,该数据文件包括可扩展的标记语言(XML)数据、可扩展的超文本标记语言(XHTML)数据或者其他标记语言数据。此外,标记语言文档114可包括JavaScript ObjectNotation(JSON)数据、带有填充的JSON(JSONP)、以及JavaScript数据,以便于外部系统120与用户设备110之间的轻量级数据交换。用户设备110上的浏览器应用程序112将需要JavaScript编译器来解码该标记语言文档。
[0029]在一种实施方式中,用户设备110还包括小型文本文件(cookie) 116,小型文本文件116包括表示用户设备110中的用户是否登录进社交网络系统130中的数据。小型文本文件116表示在用户设备110与社交网络系统130交换数据的活动会话中是否包括计算设备110的用户,以允许修改从社交网络系统130传送给用户设备110的数据。下面结合图4进一步描述在用户设备110、社交网络系统130和/或外部系统120之间交换数据时小型文本文件116的使用。
[0030]图1和其他附图使用类似的参考标号来标记类似元件。诸如“122a”等参考标号之后的字母表示该文本具体指具有该特定参考标号的元件。诸如“122”等文本中没有后跟字母的参考标号指附图中具有该参考标号的任何或者所有元件(例如,文本中“ 122”指附图中的参考标号“122a”和/或“122b”)。为简化和阐明描述,图1中仅示出了两个网页122a和 122b。
[0031]外部系统120包括一个或者多个网络服务器,该一个或者多个网络服务器包括使用网络140传送给用户设备110的一个或者多个网页122。外部系统120独立于社交网络系统130。例如,外部系统120与第一域相关联,而社交网络网站与独立的社交网络域相关联。网页122包括在外部系统120中,网页122包括识别内容并且包括指定格式化或者呈现识别内容的指令的标记语言文档。窗口小部件(widget)124包括在网页122a中,提供指令以识别由用户在网页上执行的图谱动作。例如,如果用户单击链接以在外部系统120上播放歌曲,则窗口小部件124提供指令给渲染网页122a的浏览器应用程序112以识别图谱动作和图谱对象,根据使用图谱定义模块132在社交网络系统130上定义的对象和动作的结构,单击链接以播放歌曲。同样,在外部系统120上执行诸如玩游戏、添加项目到购物清单和观看视频等其他类型的图谱动作可与这样一种链接相关,即,通过用户设备110单击该链接时,使窗口小部件124将指令提供给浏览器应用程序112,以根据使用图谱定义模块132在社交网络系统130上定义的对象和动作的结构来识别图谱动作。在一种实施方式中,窗口小部件124通过将对图谱对象执行的图谱动作记录在由社交网络系统定期进行检索的动作日志中可识别图谱动作。在另一实施方式中,窗口小部件124通过将图谱动作实时通信反馈给社交网络系统可识别图谱动作。外部系统120还可包括由网页122b描述的对象126。第三方开发人员可使用标签来描述标记语言文档中网页122b中的对象126。例如,对象126可以是具有标题、艺人姓名以及持续时间的歌曲。可使用标签描述对象126,以包括歌曲名称、艺人对象以及持续时间。同样,对象126可以是具有名称、描述以及产品类别的产品。网页122a可包括链接中引用由网页122b描述的对象126的窗口小部件124。例如,用户单击网页122a上显示由对象126表示的歌曲的链接。同样,用户可单击网页122a上将对象126表示的产品添加到购物清单对象中的链接。
[0032]社交网络系统130包括存储社交网络或者社交图谱的一个或者多个计算设备,该社交网络系统130包括多个用户并且向社交网络的用户提供与社交网络的其他用户进行通信和交互的能力。下面结合图2进一步描述社交网络系统130。在使用时,用户连接社交网络系统130并且将连接添加到社交网络系统130中他们希望被连接到的多个其他用户。如本公开中使用,术语“朋友”指社交网络系统130中用户经由社交网络系统130与其形成连接、关联或者关系的任何其他用户。
[0033]基于用户的共同特征(例如,是同一所教育机构的校友的用户),用户可明确添加或者社交网络系统130可自动创建连接。例如,第一用户特定地选择了具体的其他用户成为朋友。社交网络系统130中的连接通常为双向,但不一定是双向,因此,术语“用户”和“朋友”取决于参考体系。社交网络系统130中用户之间的连接通常为双边或者“相互的”,但是连接还可以是单边或者“单向式”。例如,如果Bob和Joe都是社交网络系统130的用户并且连接到彼此,则Bob和Joe是彼此的连接。另一方面,如果Bob希望连接到Joe以查看由Joe传送给社交网络系统的数据,但是Joe不希望形成相互连接,则可以创建一个单边连接。用户之间的连接可以是直接连接;然而,社交网络系统的一些实施方式允许经由一级或者多级连接或者等级或者分割点来间接连接。
[0034]除了创建和维持用户之间的连接并且允许用户之间进行交互之外,社交网络系统130向用户提供作用于社交网络系统130支持的各类项目的能力。这些项目可包括社交网络系统的用户可属于的组或者网络(其中,此处的“网络”不是指物理通信网络,而是人、实体和概念的社交网络)、用户可能感兴趣的事件或者日历条目、用户可经由社交网络系统130使用的计算机应用程序、允许用户经由该服务购买或者出售项目的交易、以及用户可在社交网络系统上或者外部进行的与广告的交互。这些仅是用户可作用于社交网络系统的项目的几个实施例,并且许多其他实施例也是可能的。用户可与能够在社交网络系统130或者在外部系统120中表示的、独立于社交网络系统130、经由网络140耦接至社交网络系统130的任何事物交互。
[0035]社交网络系统130还能够链接各个实体。例如,社交网络系统130能够使用户通过API或者其他通信信道彼此以及与外部系统120或者其他实体交互。因此,社交网络系统130生成并且维持包括通过多个边相互连接的多个节点的“社交图谱”。社交图谱中的各个节点可表示能够作用于另一节点和/或能够被另一节点作用的实体。社交图谱可包括各种类型的节点。各种类型节点的实施例包括用户、非个人实体、内容项、网页、组、事件、消息、概念、以及可由社交网络系统130中的对象表示的任何其他事物。社交图谱中两个节点之间的边表示两个节点之间的某种连接,由节点中的一个作用于另一节点时可生成该种连接。例如,当第一用户将第二用户识别为朋友时,社交图谱中生成将表示第一用户的节点与表示第二用户的第二节点连接的边。由于各个节点彼此交互,所以社交网络系统130修改连接各个节点的边以反映交互。
[0036]社交网络系统130还包括增强用户与社交网络系统130之间交互的用户生成项。用户生成项可包括用户能够添加、上传、发送或者“发帖”到社交网络系统130的任何事物。例如,用户从用户设备100将帖子传送给社交网络系统130。帖子可包括诸如状态更新或者其他文本数据、位置信息、照片、视频、链接、音乐或者其他类似数据和/或媒体等的数据。第三方通过诸如新闻递送或者流等的“通信信道”也可将内容添加到社交网络系统130。内容“项”表示社交网络系统130中被表示为对象的单项内容。同样,鼓励社交网络系统130中的用户通过各种通信信道发帖文本和各种类型媒体的内容项来彼此通信,从而提高用户彼此之间的交互并且提高用户与社交网络系统130交互的频率。
[0037]在社交网络系统130中的用户使用外部系统120时,他们对这些外部系统120的动作可被捕获并且报告给社交网络系统130。此外,窗口小部件124可识别对外部系统120采取的动作,从而社交网络系统130可从该动作获得语义含义。例如,单击外部系统120上播放歌曲的链接不仅表示用户收听过该歌曲,而且还可以表示用户喜欢收听舞曲,因为该歌曲在舞曲流派中是第100首播放歌曲。或者,用户可能喜欢收听演唱该歌曲的艺人,因为用户已经播放该艺人的超过1000首歌曲。通过向社交网络系统130提供结构以获得含义来实现诸如“收听”、“播放”、“歌曲”、“艺人”以及“流派”等概念之间的语义含义。社交网络系统130包括支持社交图谱中定义的动作和对象的图谱定义模块132。图谱动作模块134定义可由用户执行的诸如收听歌曲、购买一双鞋或者评论电影等的图谱动作。图谱对象模块136定义可由用户作用的诸如歌曲、无线电台、产品、电影等的图谱对象。
[0038]图谱定义模块132能够使第三方开发人员定义图谱动作和图谱对象的属性,包括动词时态和名词形式、相关的图谱对象以及数据可视化模板。第三方开发人员可定义诸如“收听”动作等的图谱动作为具有过去时态、现在时态、单数和复数动词时态。同样,诸如“歌曲”对象等的图谱对象可被定义为具有单数和复数名词形式,以及包括诸如“艺人”对象和“流派”对象等的其他对象的对象属性。通过定义动词时态和名词形式,社交网络系统可自动生成用户对图谱对象执行图谱动作的文本描述以将故事传送给社交网络系统的用户。在一种实施方式中,故事包括图谱动作和图谱对象,且可基于动词时态和名词形式的定义被翻译成不同的语言。在一种实施方式中,第三方开发人员可使用社交网络系统130上与图谱定义模块132相关联的用户界面工具来定义动作类型。一旦第三方开发人员使用用户界面工具来定义动作类型(用户界面工具包括将动作类型配置为对于特定对象类型被执行),社交网络系统130可将网页公开给外部系统120以访问该动作类型。又例如,可以由可对“产品”对象类型执行的并且可与诸如“购物清单”对象类型等的其他对象类型相关联的第三方开发人员来定义“购买”动作类型。第三方开发人员可在外部系统120上生成网页122a,其中,一个网页122b包括“产品”对象类型的对象126和带窗口小部件124的能够使用户购买外部系统120上的用户购物清单上的产品的另一网页122a,其中,窗口小部件124记录对“产品”对象执行的“购买”动作。
[0039]使用关于对象和动作的结构查询可对诸如汇集播放某个艺人的某首歌曲或者某些歌曲的频率等的概念进行分析。这些汇集可作为新闻故事以流的形式公布到社交网络系统130上、可由外部系统上的应用程序使用以对用户进行比较、或者可以任何方式被使用。图谱发布商API138接收用户对外部系统采取的动作并且使用对象和动作的定义属性(诸如汇集)将外部用户动作公布到社交图谱上。在一种实施方式中,第三方开发人员使用图谱定义模块132来定义社交图谱中图谱对象和图谱动作的属性。在另一实施方式中,社交网络系统130的管理员定义社交图谱中图谱对象和图谱动作的属性。因为在一些实施方式中可全局性定义图谱对象和图谱动作,所以管理员可出于一致性来定义某些图谱对象和图谱动作的最初属性。在其他实施方式中,具体的对象和动作可包括不同的属性并且通过标准制定委员会或者通过协议可协调这些差异。某些对象和动作可具有社交网络系统的管理员或者第三方开发人员后期定义和/或协调的未定义属性。
[0040]用户设备110可包括对从外部系统120接收的标记语言文档114进行解释的浏览器应用程序112。标记语言文档114包括一个或者多个标签,一个或者多个标签包括描述网页122a内的内容的元信息以及窗口小部件124。标签可对有关对象提供描述,诸如关于社交网络系统130中的对象的标题、类型、标注、唯一标识符、微格式和/或其他描述。例如,标记语言文档114可包括对能够使用户构建虚拟雪人并且在社交网络系统130上分享自定义虚拟雪人的应用程序的链接。可由第三方开发人员将对象126定义为在外部系统120中的网页122b上描述的雪人对象。例如,雪人对象可具有包括玉米穗轴烟斗、按钮鼻以及煤制成的两只眼睛的对象属性。可使用外部系统120中的网页122b上的标签来描述雪人对象的对象属性。这些标签允许基于网页122b中定义的结构在社交网络系统130中创建结构对象。在其他实施方式中,描述对象126的标签可存储在数据库、文件或者其他类型的格式中。第三方开发人员可通过添加对应于多个对象属性的多个标签来扩展自定义对象的定义。当用户设备110执行解释标记语言文档114的浏览器应用程序112并且接收诸如单击链接等的用户输入时,浏览器应用程序112可访问网页122b中描述由包括标记语言文档114的网页122a中的窗口小部件124引用的对象126的信息。因此,在社交网络系统130上创建的图谱对象具有网页122b中定义的包括描述对象126的标签的对象属性。这能够使得外部系统120定义、创建并且维持社交网络系统130使用的社交图谱中的对象。
[0041]在一种实施方式中,网页122a包括窗口小部件124,窗口小部件124包括指令以在由用户设备110的浏览器应用程序112执行时来记录并且报告用户在网页122a内根据图谱定义模块132定义的社交图谱结构采取的动作,并且还在网页122a内检索和显示来自社交网络系统130的社交相关信息。例如,窗口小部件124可包括指令以捕获对与跳至因特网广播站上下一首歌曲相关联的链接的选择。从语义上讲,对跳过当前正在播放的歌曲的链接的选择可表示用户对该歌曲不感兴趣或者不喜欢该歌曲。在社交网络系统130上描述该动作类型的网页中可将该信息加标签,使得窗口小部件124能够捕获该事件并且将该信息传递给社交网络系统130。因此,如果用户跳过被称为“Row, row, row your boat”的歌曲,则与对“跳过”链接的选择相关联的标签可根据如何在社交网络系统130中定义动作“跳过”来向社交网络系统130指示用户不喜欢该歌曲、演唱该歌曲的艺人、或者该歌曲的流派。
[0042]在一种实施方式中,窗口小部件124将外部系统120中采取的动作实时报告给社交网络系统130。窗口小部件124可包括指令以通过多个通信信道将该动作传送给社交网络系统130中的其他用户,包括电子邮件、SMS消息、实时聊天消息、通知、新闻递送、流以及可由移动设备上运行的应用程序解释的API事件。在另一实施方式中,窗口小部件124在动作日志中创建社交网络系统130后期能够检索到的一个条目。图谱发布商API138对接收信息进行汇编并且基于由社交网络系统130提供的模板或者由第三方开发人员创建的自定义可视化在社交网络系统130中生成流的新闻故事或者内容项。当由用户设备110的浏览器应用程序112渲染并且显示网页122a时,窗口小部件124还能够使来自外部系统120的网页122a从社交网络网站130提供个人化(personalized,个性化)内容。窗口小部件124包括有关浏览器应用程序112的指令以在包括来自社交网络系统130的社交相关信息的网页122a内生成帧(frame,框架),诸如最近收听过当前正在播放的歌曲的朋友。使用网页122b中描述对象126的标签,窗口小部件可与社交网络系统130进行通信以识别连接到已经与同一对象126(网页122a中当前正在播放的歌曲)交互的观看用户的其他用户。在窗口小部件124识别连接到观看用户的其他用户之后,从社交网络系统130中可检索有关其他用户的信息并且将该信息呈现在外部系统120上的网页122a内的帧中。该信息可包括也已经与同一对象126交互的其他用户的姓名和资料照片。
[0043]社交网络系统130还包括图谱内容项排列模块150和图谱集成模块160。图谱内容项排列模块150对由用户对外部系统和/或社交网络系统的交互生成的图谱动作和图谱对象进行汇编的内容项进行分析。基于该分析,根据相关性和品质来排列图谱内容项,以提供更佳的用户体验。图谱内容项排列模块150在为社交网络系统130中的观看用户排列图谱内容项时可使用通用和用户指定的几种因素。图谱集成模块160将由外部系统120中用户生成的结构动作和对象集成为社交网络系统130中的交互元素。例如,音乐控制用户界面可包括能够使社交网络系统用户播放或者暂停外部系统中当前正在播放的音乐的两个按钮,诸如运行用户本地计算机系统的应用程序、在外部系统中运行的应用程序,诸如流音乐服务、因特网无线电台或者“云基”音乐服务,其中,购买的音乐存储在外部系统中,而非本地计算机上。
[0044]因为社交网络系统的管理员或者第三方开发人员定义了结构动作和对象的统一设置,所以不同的外部系统120可经由音乐控制用户界面为社交网络系统130中的用户提供音乐。在一种实施方式中,社交网络系统130可复制由多个不同外部系统120生成的诸如歌曲等的对象。例如,第一用户可在诸如iTunes等的音乐服务上收听歌曲,并且对歌曲对象执行的收听动作实例可分享给社交网络系统130中的其他用户。然后,因为社交网络系统130已经识别该歌曲对象的对象属性,包括标题、艺人姓名以及持续时间,并且已经在社交网络系统130中创建该歌曲的虚拟对象,所以第二用户可随后在诸如RDIO等的不同的音乐订制服务上收听同一首歌曲。因此,当第二用户查看第一用户在对艺人“Lady Gaga”的歌曲对象“Born ThisWay”执行的收听动作实例时,社交网络系统130则将由第一用户创建的歌曲对象自动映射给该歌曲对象的虚拟对象。然后,第二用户可使用诸如Spotify等不同的音乐订制服务来收听该歌曲。以此方式,社交网络系统130可识别类似对象并且生成表示不同域内的类似对象的使用不同外部系统120上的不同标签潜在定义的虚拟对象。这能够使社交网络系统130汇集动作和对象的实例并且创建兴趣故事,诸如社交网络系统130上用户在所有新闻报告网站的朋友网络共享的头条新闻文章、所有音乐订制平台或者服务上由用户或用户的定义组收听的最多音乐流派、以及社交网络系统130中用户在任何视频流服务上观看的高点击率电影。这还能够使社交网络系统130正确地构建社交图谱,从而在用户与电影“Transformers”之间创建边,而非由诸如Netflix等的特定视频流服务交付用户与电影“Transformers”之间的边。通过音乐控制界面,在用户收听歌曲时生成图谱对象和图谱动作,包括歌曲对象、艺人对象、流派对象、收听动作、跳过动作等。在一种实施方式中,诸如图3A中所述,艺人对象和歌曲对象以及其他相关对象可被存储并且编入索引到社交网络系统130中。因为来自不同外部系统120的歌曲对象具有不同的域和不同的网站,且已被复制到唯一歌曲的虚拟歌曲对象中,所以社交网络系统130可将用户与来自不同外部系统120中的歌曲对象的交互存储并且编入索引为与该唯一歌曲的虚拟歌曲对象的交互。更广泛地,通过映射图谱对象的对象属性,包括标题、持续时间、字数、导演、制作日期等,来自不同网站和域中诸如新闻文章、电影以及电视秀等的相似的图谱对象可被相似地复制。社交网络系统130可存储并且对相似对象的虚拟对象编入索引,从而能够使社交网络系统130中用户的交互被正确映射到社交图谱中。如同社交网络系统中的任何其他对象,社交网络系统130中的用户可与社交网络系统130中存储并且编入索引的图谱对象交互,包括评论、分享、表示赞成(“喜欢”)以及给社交对象中其他用户加标签。以此方式,用户可进行对话并且分享有关某首歌曲、艺人、无线电台、音乐流派、电影、新闻文章、演员、导演、广播公司或者社交网络系统130中定义的任何图谱对象的体验。
[0045]图谱集成模块160还可提供能够使社交网络系统130中的用户与诸如因特网无线电台中正在播放音乐等的外部对象协作交互的用户界面。由图谱集成模块160提供的用户界面能够使观看用户对连接到该观看用户的另一用户“收听”。在一种实施方式中,社交网络系统130中的各组用户可协作地收听同一无线电台、音乐播放列表或者托管在一个或者多个外部系统120上的专辑。该组中的某些用户可被指定为管理员并且可选择切换到另一无线电台、音乐播放列表或者专辑。在另一实施方式中,可通过两个用户选择社交网络系统中两个用户之间关系页面的歌曲。在再一实施方式中,社交网络系统130中用户生成的事件,诸如生日派对、音乐会、以及聚会等,可包括使用由图谱集成模块160提供的用户界面从多个外部系统120收集的播放列表、无线电台以及专辑。在进一步的实施方式中,图谱集成模块160可将图谱对象和图谱动作汇集到在社交网络系统130上用户的资料中可查看的用户界面。该用户界面可包括用户的最近动作、用户的最佳艺人、歌曲、专辑、播放列表以及无线电台。该用户界面能够使另一用户资料中的观看用户从用户界面收听歌曲、从社交网络系统130中用户资料页面上的用户界面收听托管在外部系统120中的流音乐,同时在图谱对象上生成图谱动作以查看用户资料。以此方式,外部用户交互被集成到社交网络用户体验中。
[0046]图1B是根据本发明的实施方式对由从社交网络系统之外的外部用户动作生成的图谱内容项进行排列的高级框图。此处,多个外部系统120生成由图谱内容项排列模块150接收的图谱数据142。在一种实施方式中,该图谱数据142包括有关在外部系统120上生成的动作和对象的信息,诸如捕获动作时的日期和时间、与动作相关联的对象(包括用户)、执行动作的位置等以及在外部系统120中生成的动作和对象。图谱内容项排列模块150使用有关动作和对象的信息来生成图谱内容项对象152的排列分数。这些排列分数可用于对社交网络系统130中用户的流中的新闻故事进行排列,以显示流中较高的更多相关新闻故事。基于与社交网络系统中连接到观看用户的其他用户交互的图谱对象,诸如歌曲、电影、电视秀、新闻文章、游戏应用程序等,通知推荐图谱对象的观看用户的嵌入在外部系统120中的推荐插件也可使用排列分数。因为更大相关的图谱对象可被显示给用户,所以这提供了更佳的用户体验给社交网络系统的用户,从而提高社交网络系统中用户的参与度。
[0047]为了保护社交网络系统130的用户免于在其用户体验中不需要的应用程序向其“兜售”内容项,图谱内容项排列模块150根据包括全局因素、用户指定因素以及推荐分数等的选择因素排列外部系统120中生成的内容项或者应用程序。在一种实施方式中,全局因素可被视为与社交网络系统130 “整体”相关。全局因素可包括是否知道某项应用程序是垃圾邮件、或者是否知道某项应用程序可信以及社交网络系统130中应用程序的测量质量。在另一实施方式中,全局因素通过将有关垃圾邮件发送者的知识整合到全局因素中而与因特网“整体”相关。用户指定因素包括用户是否已经使用该应用程序、用户是否已经将该应用程序安装到社交网络系统130中以及用户的其他特征。最后,基于社交网络系统130中已查看类似内容项的其他用户的交互以及其与观看用户的相似性,推荐引擎计算内容项的推荐分数。使用这些因素和推荐分数的组合,可提供更佳的用户体验,同时还整合了外部系统120中的外部用户交互。在一种实施方式中,图谱内容项排列模块150可对包括收听动作、歌曲对象以及艺人对象等的内容项进行排列,以使用户界面上的观看用户将歌曲推荐给该观看用户。
[0048]图2是社交网络系统130的一种实施方式的示图。图2中所示的社交网络网站130的实施方式包括网络服务器210、动作记录器224、API请求服务器220、活动日志226、用户资料存储器212、连接存储器214、图谱对象类型存储器216、图谱动作类型存储器218、图谱定义模块132、图谱发布商API138、图谱检索模块222、认证服务器228、图谱内容项对象存储器230、图谱内容项排列模块150、图谱集成模块160、图谱数据存储器232以及图谱翻译模块234。在其他实施方式中,社交网络网站130可包括用于各种应用程序的附加、少量或者不同的模块。为了不使该系统的细节模糊,未示出诸如网络接口、安全机制、载荷平衡器、故障转移服务器、管理和网络操作控制台等的常规部件。
[0049]用户资料包括传记、人口统计以及其他类型的描述性信息,诸如用户公布或者社交网络系统130推断的工作经验、教育背景、嗜好或者喜好、位置等。该信息存储在用户资料存储器212中,从而使得可唯一识别每个用户。社交网络系统130还存储描述连接存储器214中不同用户之间的一个或者多个连接的数据。连接信息可表示具有相似或者共同工作经验、团体成员资格、嗜好或者教育背景的用户。此外,社交网络系统130包括不同用户之间用户定义的连接,以允许用户指定其与其他用户的关系。例如,用户定义连接允许用户与平行于该用户现实生活关系的诸如朋友、同事、伙伴等的其他用户生成关系。用户可从预定类型的连接中选择并且根据需要定义其自身的连接类型。与社交网络系统130中诸如非个人实体、兴趣、页面、外部系统、概念等的其他节点的连接也可存储在连接存储器214中。
[0050]网络服务器210经由网络140将社交网络系统链接到一个或者多个用户设备110和/或一个或者多个外部系统120。网路服务器210服务于网页以及其他网络相关内容,诸如Java、Flash、XML等。网络服务器210可包括邮件服务器或者其他发消息功能,以用于接收和路由社交网络系统130与一个或者多个用户设备110之间的消息。该消息可以是即时消息、队列消息(例如,电子邮件)、文本和SMS消息或者任何其他合适的消息格式。
[0051]应用程序编程接口(interface,界面)(API)请求用户220允许一个或者多个外部系统120和用户设备110通过调用一个或者多个API来访问来自社交网络系统130中的信息。API请求服务器220还可允许外部系统120通过调用API将信息发送给社交网络网站。在一种实施方式中,外部系统120经由网络140将API请求发送给社交网络系统130并且API请求服务器220接收API请求。API请求服务器220通过调用与API请求相关联的API来处理该请求,以生成适当的响应,API请求服务器220经由网络140将该响应传送给外部系统120。例如,API请求服务器220响应于API请求来收集与用户相关联的数据,诸如已经登录到外部系统120中的用户连接,并且将收集的数据传送给外部系统120。在另一实施方式中,用户设备110以与外部系统120相同的方式经由API与社交网络系统130进行通?目。
[0052]动作记录器224能够从网络服务器210接收有关社交网络系统130内和/或外的用户动作的通信。动作记录器224向活动日志226填充有关用户动作的信息,从而能够使社交网络系统130发现社交网络系统130内或者社交网络系统130之外其用户采取的各种动作。特定用户对社交网络系统130中另一节点采取的任何动作通过维持在活动日志226中或者相似数据库中或者其他数据存储库中的信息而与各个用户的资料相关联。例如,由社交网络130内的用户采取的被识别和存储的动作的实施例可包括将连接添加到另一用户、将消息发送给另一用户、从另一用户读取消息、查看与另一用户相关联的内容、参加由另一用户发帖的事件或者与另一用户交互的其他动作。当用户在社交网络系统130内采取动作时,该动作被记录在活动日志226中。在一种实施方式中,社交网络系统维持活动日志226作为条目的数据库。当在社交网络系统130内采取动作时,有关该动作的条目被添加到活动日志226。在一种实施方式中,活动日志226可被称为动作日志。
[0053]此外,用户动作可与社交网络系统130之外的实体内发生的概念和动作相关联,诸如独立于社交网络系统130的外部系统120。例如,动作记录器224可从网络服务器210接收描述用户与外部系统120的交互的数据。在该实施例中,外部系统120根据社交图谱中的结构化的动作和对象报告用户的交互。在一种实施方式中,接收的交互可包括由图谱定义模块132定义的图谱对象和图谱动作。动作记录器224将根据图谱动作和图谱对象的定义来解释接收的交互。例如,动作记录器224可接收包括用户唯一标识符、被称为“收听”的图谱动作以及被称为“歌曲”的图谱对象等的交互。活动日志226将被填充该接收的信息。用户与外部系统120交互的动作的其他实施例包括用户表达对外部系统120或者另一实体的兴趣、用户在社交网络系统130内发帖评论以就外部系统120或者外部系统120内的网页122a进行讨论、用户在社交网络系统130中发帖讨论统一资源定位符(URL)或者与外部系统120相关联的其他标识符、用户参加与外部系统120相关联的事件或者由用户执行的与外部系统120有关的任何其他动作。因此,活动日志226可包括描述社交网络系统130的用户与独立于社交网络系统130的外部系统120之间的交互的动作。
[0054]认证服务器228强制执行对社交网络系统130中用户的一种或者多种隐私设置。用户的隐私设置确定如何分享与用户相关联的特定信息。隐私设置包括对与用户相关联的特定信息的规范和对能够与其分享信息的实体的规范。能够与其分享信息的实体的实施例可包括其他用户、应用程序、外部系统120或者能够潜在访问该信息的任何实体。用户能够分享的信息包括类似资料照片、与用户相关联的电话号码、用户连接、由用户采取的诸如添加连接、更改用户资料信息等的动作的用户资料信息。
[0055]可以不同的粒度级别提供隐私设置规范。例如,隐私设置可识别与其他用户共享的具体信息。例如,隐私设置识别工作电话号码或者相关信息的具体设置,诸如包括资料照片、家庭电话号码以及身份等的个人信息。可替代地,隐私设置可应用于与用户相关联的所有信息。还可以不同的粒度级别规定能够访问特定信息的该组实体的规范。例如,能够与其分享信息的各组实体可包括用户的所有朋友、朋友的所有朋友、所有应用程序或者所有外部系统120。例如,其他实施方式允许该组实体的规范包括列举的实体,用户可提供允许访问特定信息的一系列外部系统120。另一实施方式允许该规范包括一组实体,以及不允许访问该信息的例外。例如,用户可允许所有外部系统120访问用户的工作信息,但是规定不允许一系列的外部系统120访问该工作信息。某些实施方式将不被允许访问特定信息的该系列例外称为黑名单。由用户指定属于黑名单的外部系统120被阻止访问隐私设置中规定的该信息。注意,信息规范的粒度与与其分享信息的实体规范粒度的各种组合均是可能的,即,所有个人信息均可与朋友分享,而可与朋友的朋友分享所有工作信息。
[0056]认证服务器228包含逻辑以确定用户的朋友、外部系统120和/或其他应用程序和实体是否能够访问与用户相关联的特定信息。试图访问用户对与外部系统120相关联的URL的评论的外部系统120还可需要来自认证服务器228的认证以访问用户的更多隐私和敏感信息,诸如用户的工作电话号码。认证服务器228基于用户的隐私设置来确定是否允许另一用户、外部系统120、应用程序或者另一实体访问与该用户相关联的信息,包括有关用户采取的动作的信息。在一种实施方式中,认证服务器228使用用户隐私设置来确定外部系统120是否能够访问用户对与外部系统120相关联的URL的评论。用户隐私设置可规定允许哪些其他用户或者其他实体接收有关用户动作的数据或者与用户相关联的其他信肩、O
[0057]此外,社交网络系统130维持有关用户可使用社交网络系统130与其交互的对象的数据。为维持该数据,用户资料存储器212和连接存储器214存储由社交网络系统130维持的对应类型对象的实例。每种对象类型均具有适合于将适当信息存储到该类型对象的信息字段。例如,用户资料存储器212包含具有适合于描述用户资料的字段的数据结构。当创建特定类型的新对象时,社交网络系统130对对应类型的新数据结构进行初始化、将唯一对象标识符符分配给新数据结构、并且根据需要开始将数据添加给对象。这种情况可能发生在例如用户变成社交网络系统130的用户时,社交网络系统130在用户资料存储器212中生成用户资料的新实例时、将唯一标识符分配给用户资料时以及开始使用由用户提供的信息来填充用户资料的字段时。
[0058]连接存储器214包括适合于描述用户到其他用户的连接、到外部系统120的连接或者到其他实体的连接的数据结构。连接存储器214还可将连接类型与用户连接相关联,连接存储器214可与用户隐私设置结合使用以调控访问有关用户的信息。
[0059]存储在连接存储器214、用户资料存储器212以及活动日志226中的数据能够使社交网络系统120生成这样一种社交图谱,即,使用节点来识别各种对象和连接节点的边以识别不同对象之间的关系。社交图谱中两个节点之间的边表示两个节点之间的某种连接,由节点中的一个对另一节点执行的动作可生成该种连接。
[0060]例如,如果在社交网络系统中第一用户与第二用户创建连接,则来自用户资料存储器212中的第一用户和第二用户的用户资料可用作社交图谱中的节点。由连接存储器214存储的第一用户与第二用户之间的连接是与第一用户和第二用户相关联的节点之间的边。继续该实施例,然后,第二用户可在社交网络系统130内发送给第一用户一条消息,这由动作记录器224识别并且存储在活动日志226中。发送该消息的存储动作是社交图谱中表示第一用户和第二用户的两个节点之间的另一个边。此外,消息本身可被活动日志226识别并且包括在社交图谱中作为连接到表示第一用户和第二用户的节点的另一节点。
[0061]在另一实施例中,第一用户可将由社交网络系统130维持的图像中(或者,可替代地,由社交网络系统130之外的另一系统维持的图像中)的第二用户加标签。图像本身可由社交网络系统130中的节点表示。该加标签动作可在第一用户与第二用户之间创建边以及在各个用户与图像之间创建边,该图像也是社交网络中的节点。在再一实施例中,如果用户确认参加某事件,则用户和该事件是从用户资料存储器212中获得的节点,其中,对该事件的参加是可从活动日志226中检索到的节点之间的边。通过生成并且维持社交图谱,社交网络系统130包括描述多种不同类型的对象和交互以及这些对象之间的连接的数据,从而提供丰富资源的社交相关信息。[0062]在该理解包括节点和边的社交图谱基础上,通过使第三方开发人员和外部系统120定义公布到社交图谱上的对象和动作能够“开放”社交图谱。如图1A和图2所示,图谱定义模块132包括图谱动作模块134和图谱对象模块136。图谱定义模块132能够创建模拟现实世界交互的动作和对象。诸如“收听”等的动作可包括各种属性,诸如发生该动作的位置、采取该动作的用户、以及记录用户执行该动作多长时间的持续时间字段。在一种实施方式中,生成的图谱动作类型可被存储在图谱动作类型存储器218中。使用图谱对象模块136可将诸如“歌曲”、“艺人”、“流派”以及“无线电台”等的对象定义为具有对象属性,诸如听觉对象类型、音乐对象类型、执行艺术对象类型等。这些图谱对象类型存储在图谱对象类型存储器216中。
[0063]在一种实施方式中,图谱定义模块132定义对特定对象执行的特定动作。例如,社交网络系统130的管理员可定义仅对听觉对象类型执行的“收听”动作,诸如“歌曲”、“艺人”、“流派”以及“无线电台”对象等。因此,可能希望对用户能够执行动作“收听”的“讲话”对象进行定义的第三方开发人员可定义他的“讲话”对象为听觉对象类型,从而可对听觉对象类型执行“收听”动作。
[0064]在另一实施方式中,图谱定义模块132支持对任一对象执行的动作,从而让使用由窗口小部件124解释的标记语言文档114中的动作和对象的第三方开发人员去领悟其语义。因此,在本实施方式中,第三方开发人员可在社交网络系统130的用户与IP语音应用的用户之间的IP语音应用电话中使用具有“用户”对象的“收听”动作。如果IP语音应用的用户不是社交网络系统130的用户,则活动日志226中仅可使用从外部系统120接收的信息以公布到社交网络系统130的新闻递送或者流中。因此,可使用上下文无关语法来捕获外部用户交互并且将其集成到社交网络系统130中。
[0065]在一种实施方式中,图谱发布商API138将接收的动作和对象汇编成社交网络系统130中内容项流中的新闻故事或者其他内容项。在另一实施方式中,图谱发布商API138响应于来自外部系统120的API调用以检索外部系统120上的用户交互。图谱发布商API138使用动作和对象的定义来确定如何将数据公布到社交网络系统130的社交图谱上。在一种实施方式中,标记语言文档114包括社交网络系统130中的指令以将在外部系统120上采取的各种动作公布为流中的新闻故事或者内容项。在另一实施方式中,标记语言文档114包括社交网络系统130中的指令,从而以批次方式或者集合方式公布在外部系统120上采取的动作。注意,因为之前提供给外部系统120的认证,所以社交网络系统130可被动地将这些内容项公布到社交网络系统130上的用户流中。如果用户没有给予对发布到流中的内容项进行该认证,则对话框请求许可将提示用户。
[0066]图谱翻译t旲块234能够使社父网络系统130基于在外部系统上生成的结构对象和动作动态形成句子。通过将动词时态和名词形式附接到动作类型和对象类型可实现对由图谱定义模块132定义的动作类型和对象类型的基本语义理解。通过将语法规则应用于在外部系统上生成的动作和对象的动词时态和名词形式,图谱翻译模块234可在没有第三方开发人员或者社交网络系统130管理员介入的情况下形成语法正确的句子。例如,单数过去时态或者简单过去时态的动作类型可用于表示用户作为演员执行过去动作类型的动作。对象类型可以是单数或者复数名词形式,并且由执行该动作的演员作用于对象类型。因此,“Franc 在 iMapMyRun 上完成 100 英里(Franc compIetedlOOmiIes with iMapMyRun) ”是能够由图谱翻译模块234确定的语法正确的句子。
[0067]在上述运行的应用程序中,可对“跑步”对象类型和“英里”对象类型操作“完成”动作类型。在定义动作类型过程中可收集多种动词时态,包括单数现在时、复数现在时、单数过去时以及复数过去时。同样,在定义对象类型过程中可收集名词形式,包括单数名词形式和复数名词形式。图谱翻译模块234从存储在图谱动作类型存储器218和图谱对象类型存储器216中的动作类型和对象类型检索动词时态和名词形式。
[0068]在一种实施方式中,为协调图谱发布商API138,图谱翻译模块234基于句子形成时获得的信息形成句子。例如,运行的应用程序可被配置为将新闻故事或者时间单元发帖到社交网络系统130的流中,每次用户均使用该应用程序完成100英里。图谱翻译模块 234 在发帖表不 “Franc 在 iMapMyRun 完成 200 英里(Franc completed200miles oniMapMyRun) ”故事时可使用动作类型“完成”和对象类型“英里”的正确动词时态和名词形式。此外,图谱翻译模块234还可改变句子结构来创建对动作新闻故事的调用,诸如“Franc在 iMapMyRun 上完成 300 英里(Complete300miles with Franc on iMapMyRun) ! ”在另一实施方式中,使用在任一具体时间段内收集的信息可形成新闻故事。
[0069]为了协调图谱检索模块222,图谱翻译模块234在没有来自外部系统、第三方开发人员或者社交网络系统管理员的额外输入时可动态提供各种数据可视化的内容。在呈现数据可视化时,使用动作类型的动词时态和对象类型的名词形式可形成描述数据的句子。例如,Franc和他在社交网络系统130上的五位朋友可使用在诸如网站等外部系统上操作的运行(running,跑步)应用程序来跟踪锻炼、燃烧的卡路里、攀登的高度等。如上所述,使用自定义对象和动作可捕获该丰富的数据集信息。可结合使用图谱检索模块222和图谱翻译模块234以基于用户指定 的查询生成兴趣数据可视化,诸如Franc和他五位朋友燃烧的卡路里总量、他们跑步的平均速度(他们之中跑步最快的人)等。
[0070]图谱内容项排列模块150使用从社交网络系统130的其他模块收集的图谱数据142和信息来生成观看用户的个人化故事的排列分数。通常,如从观察点击率、分享行为以及参与模式所表示,根据来自社交网络系统130中查看用户总体喜好的其他用户的动作类型来排列内容项。此处,图谱内容项排列模块150使用有关外部系统120上生成的对象的元数据,诸如表示在锻炼或者本周收听的最佳艺人期间跑步的英里数的应用程序。在一种实施方式中,例如,图谱内容项排列模块150可使用有关艺人对象和锻炼对象等的对象的元数据来排列从外部用户交互生成的内容项。在某些实施方式中,有关这些对象的元数据可被公布到新闻递送流、添加到用户资料、或者经由外部系统中的插件(例如,内嵌框架)进行显示。
[0071]图谱内容项排列模块150在计算排列分数时使用几种因素以将内容项显示给观看用户,包括全局因素、用户指定因素以及推荐分数。全局因素应用于与社交网络系统130交互的所有应用程序和/或外部系统120。社交网络系统130的独立模块可确定应用程序和/或外部系统120的信誉分数以识别垃圾邮件或者不需要的应用程序。图谱内容项排列模块150在确定由应用程序生成的内容项的排列分数时使用表示垃圾邮件可能性的应用程序信誉分数。从下列多种因素可确定信誉分数,包括从启发式分析收集的应用程序行为、来自用户的报告(即,应用程序是垃圾邮件、令人恼火或者令人讨厌)、以及表示应用程序是垃圾邮件的黑名单。[0072]可应用于图谱内容项排列分数的另一全局因素是生成内容项的应用程序的整体质量。经由各个独立模块可确定应用程序的质量,并且在判断应用程序质量时考虑的因素可包括用户与应用程序的互动程度、应用程序在所有社交网络系统130的用户之间的普及性、社交网络系统130观察的应用程序行为的一致性、应用程序作者的信誉、以及用户和社交网络系统130管理员对应用程序的平均使用率。在一种实施方式中,应用程序质量分数可表示应用程序的整体质量,并且应用程序质量分数被视为排列用于显示给观看用户的内容项的一种因素。
[0073]用户指定因素还可应用于排列图谱内容项。这些用户指定因素包括连接到观看用户的其他用户的权重以及观看用户喜好的应用程序和兴趣的权重。例如,观看用户可具有到社交网络系统130上的其他用户的1000多个连接,但是每天通过分享、评论、表达赞许以及选择嵌入在由用户子集生成的内容项内的链接可能仅与20名用户交互。因此,图谱内容项排列模块150可将来自子集中那些用户的内容项排列得较高。此外,如从观察的点击率、用户是否安装生成内容项的应用程序、由于与应用程序交互而流逝的时间以及与应用程序的交互数目来确定,图谱内容项排列模块150也可将由观看用户偏好的应用程序生成的内容项排列得较高。观看用户对应用程序的偏好、兴趣以及其他概念可存储为与用户资料存储器212中观看用户相关联的用户资料对象中的喜好分数。
[0074]例如,从与用户相关联的用户资料对象中对Lady Gaga的喜好分数可看出,观看用户可能对Lady Gaga非常感兴趣。基于用户在其资料页面上明确陈述的兴趣或者通过用户动作及其在社交网络系统130和外部系统120上的连接的隐式兴趣,通过独立模块可计算社交网络系统130中各种兴趣、节点以及用户的喜好分数。在一种实施方式中,艺人对象Lady Gaga与观看用户中具有高喜好分数的用户资料对象相关联。因为观看用户对与LadyGaga相关联的艺人对象的喜好,所以图谱内容项排列模块150将与连接到观看用户的用户在外部系统中生成的Lady Gaga相关联的内容项排列得较高。此外,基于这些艺人对象与观看用户的相邻度,有关观看用户在社交网络系统130上的连接具有高喜好分数的艺人对象的内容项也可被排列得较高。因此,从各个外部系统生成内容项,诸如通过使用Lady Gaga品牌的游戏应用程序中连接用户的实现、视频共享网站中另一连接用户观看Lady Gaga新音乐视频以及由外部网站中另一连接用户提交的新Lady Gaga LP的专辑评论,可以比外部系统120中用户交互生成的其他内容项排列得更高。
[0075]基于与其他对象的以前交互、观看用户表达的兴趣以及连接到观看用户的其他用户与其他对象的以前交互,图谱内容项排列模块150可包括观看用户可能感兴趣的推荐引擎突出对象。通过推荐引擎可异步地确定对象到对象的相似性分析。此外,在一种实施方式中,推荐引擎可保持跟踪显示给用户的对象类型并且尽力使呈现给用户的对象类型多样化,其还可推荐最近未显示的对象类型。推荐可以在诸如通过指数式、线性式或者对数式提高排列分数等改变强度时影响由图谱内容项排列模块150生成的排列分数。在一种实施方式中,对象所有者、品牌商或者其他第三方可通过社交网络系统中的用户界面来购买对排列分数的提升。例如,如果在社交网络系统中观看用户的推荐下,该书的发布商购买了该书的奖励放置位置,则在电子零售商购买书被传送给社交网络系统作为由社交网络系统中的用户执行的图谱动作实例,可推进连接到该用户的观看用户的推荐排列。
[0076]图谱数据142可被存储并且编入索引到图谱数据存储器232中。图谱数据存储器232包括适用于描述从外部系统120检索的图谱数据142的数据结构。在一种实施方式中,从社交网络系统130内下列用户可接收图谱数据142,诸如与其他用户分享包括图谱数据142的故事的用户、播放在社交网络系统130上的故事的新闻递送流内共享的歌曲的用户、从社交网络系统130上的应用购买产品的用户、以及从来自社交网络系统130中的其他用户的消息中共享的播放列表观看视频的用户。图谱数据142可包括自定义图谱动作、演员(执行自定义图谱动作的用户)、自定义图谱对象、以及由社交网络系统130外部实体定义的自定义图谱动作和自定义图谱对象的属性。当接收图谱数据142时,社交网络系统130可在社交数据存储器232中搜索图谱数据142并且根据需要将数据添加到对象中。例如,当用户收听之前在外部系统120中收听过的歌曲时可能发生这种情况。在这种情况下,对应于歌曲对象的图谱数据142可被修正为反应新的收听动作。图谱集成模块160可与图谱数据存储器232交互,以在社交网络系统130的用户资料页面上中提供反应新收听动作的的用户界面。因为从诸如Spotify、iTunes、Pandora以及RDIO等多个域中可收集有关相似对象的图谱数据142,所以通过社交网络系统130可创建虚拟对象并且将其存储到图谱数据存储器232中。根据从对同一首歌曲执行的多个域接收的收听动作实例,根据社交网络体系130通过歌曲标题、艺人姓名、专辑名称以及持续时间进行的识别,访问图谱数据存储232以识别表示与收听动作实例相关联的歌曲对象的虚拟对象。然后,根据社交网络系统130确定,收听动作实例与由社交网络系统130创建的表示相似歌曲对象的虚拟对象相关联。以此方式,社交网络系统130可报告包括收听动作和用于具体歌曲的虚拟对象的新闻故事,诸如Justin Bieber演唱的“Baby”,无论是否在Spotify、iTunes、Pandora、或者RDIO上收听过该歌曲。在一种实施方式中,新闻故事可包括在其中收听过该歌曲的域或者音乐服务,但是新闻故事可使得用户在不同的域或者音乐服务上从社交网络系统的新闻故事内回放该歌曲。在另一实施方式中,用户可将地理位置添加到自定义图谱动作实例中,以表示执行该图谱动作的位置。社交网络系统130可生成诸如新闻故事、商用产品、视频、演唱会、剧场秀、电视秀等其他类型自定义图谱对象的虚拟对象。
[0077]图谱集成模块160使用由图谱定义模块132定义的存储在图谱对象类型存储器216和图谱动作类型存储218中的动作类型和对象类型来集成外部系统120上用户与社交网络系统130的交互。例如,流音乐服务能够使用户收听外部系统120上诸如网站或者移动应用等因特网无线电台。在一种实施方式中,社交网络系统130可利用发送至外部系统120上的托管流音乐服务的嵌入式网络服务器的请求将用户界面上的按钮与链接关联起来。该请求触发被请求的动作,诸如播放和暂停无线电台中正在播放的歌曲或者音乐。这能够进一步集成设计网络系统130上的用户体验,诸如将音乐流集成到社交网络系统130上的聊天应用或者聊天界面中,经由社交网络系统130能够使用户收听外部系统120中正在播放的同一首歌曲或者无线电台,发帖与外部系统120交互的可视化,诸如读作“Joe和5位朋友刚才在Pandora无线电台收听Party Like a Rockstar”的内容项,发送消息,诸如在移动手机和电子消息上推送用户已经在与外部系统120的交互中“加标签”给或者创建到另一用户的可选链接的通知,并且在社交网络系统130上生成捕获与外部系统120中诸如歌曲等的对象的所有交互的页面。因为不是仅获知收听过的一首歌曲的名称以及随后必须在因特网上搜索到该歌曲,所以这些特性增强了用户体验,观看用户可经由用户界面简单地通过单击与来自社交网络系统内的歌曲对象相关联的链接而迅速收听该歌曲。选择链接对外部系统120生成执行该动作的请求,在这种情况下,通过经由网络140访问社交网络系统130的用户设备110播放该歌曲。
[0078]此外,图谱集成模块160基于从外部系统120接收的图谱数据142能够使广告目标专业化,诸如观看用户当前正在收听或者最近收听的或者作为观看用户的连接的歌曲对象。图谱集成模块160提供对图谱数据142的分析并且将该信息反馈给社交网络系统130上的目标标准模块。例如,基于用户是否位于演唱会地点附近和他们最近是否收听过正在开演唱会的艺人或者类似于这些艺人的歌曲,可针对用户做音乐演唱会的广告。广告商可进一步分析从图谱数据142收集的并且通过图谱集成模块160进行分析的信息以生成更多相关性广告。
[0079]在一种实施方式中,图谱集成模块160还可使用图谱内容项排列模块150基于下列多种因素为社交网络系统130的用户提供图谱数据142中的诸如歌曲、艺人、以及流派等的推荐,包括用户喜欢的歌曲和艺人、对用户行为的启发式分析以确定其他收听喜好、以及用户在社交网络系统130上连接的收听模式。例如,由于对与用户相关联的链接的高点击率而彼此具有高喜好分数的用户,社交网络系统中频繁的交互以及其他该类因素可影响由这些用户推荐歌曲时的权重。在一种实施方式中,图谱内容项排列模块150可基于存储在社交网络系统130中的对象元数据提供用于推荐图谱对象的排列模型。
[0080]第三方开发人员可使用图谱检索模块222来查询用于外部系统120中接收动作的数据可视化的社交图谱。例如,如果第三方开发人员希望在社交网络系统130中的用户朋友之间显示在外部系统120中最常收听的歌曲,则可使用图谱检索模块222生成该查询。社交网络系统130的管理员可开发出诸如这种和其他等的基本查询,包括合计已经执行的对象单元的数目的“总和”查询。例如,运行应用程序可记录用户每次锻炼时跑步的英里数。“英里”对象可记录该值,使得“总和”查询能够返回用户已完成的总英里数。可由第三方开发人员和社交网络系统130的管理员生成其他查询以解答诸如“用户收听最多的艺人的出生年是? ”等兴趣问题。例如,因为可由定义“艺人”对象的第三方开发人员将“艺人”对象链接到“出生年”对象,所以可执行查询以使用图谱检索模块222解答该疑问。通过对第三方开发人员和外部系统120开发社交图谱并且将结构提供给可在社交网络系统130外部发生的动作,社交网络系统130的用户通过分享和发现社交网络系统130中的社交相关信息而获益。提供结构给在社交网络系统130外部发生的动作的另一获益是针对目标广告生成额外的输入并且基于用户在外部系统120中的活动增强用户对兴趣数据可视化的体验。
[0081]图谱内容项对象分数230维持因外部用户与外部系统120的交互而生成的图谱内容项对象。图谱内容项排列模块150为社交网络系统130中可能潜在查看图谱内容项的用户计算图谱内容项对象的排列分数。基于与潜在观看用户相关联的用户资料对象,图谱内容项的排列分数基于观看用户的个人化喜好而改变。在一种实施方式中,存储并且编入索引到图谱内容项对象存储器230中的图谱内容项对象与包括有关内容项的种类的参数值的用户无关性故事矢量相关联。本领域技术人员能够认识到,矢量可包括保存信息的任何数据结构,诸如阵列、矩阵以及数据库对象。
[0082]定义图1普动作和图1普对象的结构和语法
[0083]图3A是根据本发明的实施方式的表示由社交网络系统外部实体定义的图谱动作及其与图谱对象的关系的定义图谱结构的高级框图。尽管仅示出了一种动作,即,收听动作310,然而在社交网络系统130内可定义整个域的动作。例如,用户可阅读、购买、出售、观看、希望、播放、完成、获得、推荐、评论、访问以及评论各种对象,诸如产品、音乐、体育赛事以及电影。社交网络系统130的外部实体可定义用于公布到社交网络系统130的社交图谱上的这些图谱动作和图谱对象。外部系统120上以及社交网络系统130上的用户可执行该图谱动作和图谱对象。
[0084]如图3A所示和以上所讨论,示例性实施方式包括收听诸如因特网无线网站等的外部系统120上的音乐。可定义其他外部系统120中的收听动作310,其中包括连接到网络140的单机桌面应用程序、播客、通过因特网广播的地面无线电台、虚拟音乐锁存网站以及音乐流订制服务网站。如上所述,在一些实施方式中,诸如收听动作310等的动作可被定义为开放式,使得通过收听动作310可作用于诸如播放列表、播客、以及流库等没有图片的新对象。在一种实施方式中,社交网络系统130的外部实体通过由社交网络系统130提供的工具可定义收听动作310,该工具能够使实体定义动作属性,其中包括与收听动作310类型相关联的对象类型。该工具可将新动作类型公布到社交网络系统130的网页上,从而能够使社交网络系统130的外部实体访问新的动作类型。
[0085]可由社交网络系统130的外部实体定义图谱对象以包括对象属性。例如,歌曲对象304的对象属性可包括标题、持续时间、艺人对象306、专辑对象314以及几种流派对象316。例如,艺人对象306的对象属性可包括艺人姓名、专辑对象314、几种流派对象316以及艺人出生年对象308。无线电台对象302可包括由应用程序创建的与歌曲对象304的关联性。例如,无线电台对象302可包括即将播放的用于用户收听与无线电台对象302相关联的无线电台的多个歌曲对象304的播放列表。在一种实施方式中,对象具有诸如标题、描述、图像以及URL等的标准的对象属性。可由社交网络系统130的外部实体定义其他对象属性。以此方式,多个不同对象可彼此相关。
[0086]无线电台对象302可被定义为具有诸如“99.7FM”或者“Britney SpearsChannel”等的名称。无线电台对象302可包括诸如企业所拥有的、在特定因特网URL上广播的属性。无线电台对象302链接到歌曲对象304。歌曲对象304表示在无线电台上已经播放的一首歌曲。歌曲对象304链接到执行该歌曲的艺人对象306。艺人对象306可链接到表示艺人出生时的出生年的艺人出生年对象308。例如,如果以“Britney Spears”表示艺人对象306,则艺人对象306将链接到“1981”出生年对象308,因为第三方开发人员已经知道Britney Spears 出生于 1981 年。同样,Britney Spears 演唱的歌曲“Till the WorldEnds”的歌曲对象304的所有者还将歌曲对象304与“Femme Fatale”专辑对象314以及“流行音乐”、“舞曲流行音乐”和“电子流行音乐”的流派对象316关联起来。使用有关存储在数据库中的图谱对象的信息可相互定义或者自动关联该信息。
[0087]如上所述,在一种实施方式中使用由社交网络系统130提供的工具,或者在另一实施方式中通过使用标签描述标记语言文档中外部系统120上的网页中的对象,因特网无线电台的第三方开发人员可定义无线电台、歌曲、艺人、艺人出生年、专辑以及流派等的对象。同一或者另一第三方开发人员或者社交网络系统130的管理员可定义收听动作310。收听动作310与多数动作一样能够与位置对象312相关联以识别并且记录发生动作的地理位置。收听动作310还能够与执行该动作的用户的用户资料对象318相关联。最后,收听动作310的属性可包括识别已经执行多少次收听动作310的汇集对象320。在一种实施方式中,社交网络系统130中的用户、位置、各组用户或者可识别节点可消耗该执行动作的数量。
[0088]在一种实施方式中,社交网络系统130中的用户访问无线电台网站并且已经许可共享对托管在外部系统120上的无线电台网站采取的动作。当用户在诸如收听无线电台等的因特网无线电台网站上执行动作时,第三方开发人员可对标记语言文档中的标签进行编码而在社交网络系统130中创建图谱对象实例。当用户在因特网无线电台网站上收听音乐时,收听动作310可被记录在活动日志中或者被传送给与该用户的用户资料对象318相关联的社交网络系统。动作日志可包括用户标识符、图谱动作的动作类型、对象标识符、时间、日期、以及其他元数据,诸如对象属性和动作属性值,诸如用户在跳过一首歌曲之前已经收听该歌曲多长时间。如果用户正在使用具有GPS功能的移动设备或者如果另外的地理位置可用时,则该位置的位置对象312可与收听动作310相关联。
[0089]汇集对象320可与收听动作310相关联以保持计数执行该动作的次数。在一种实施方式中,第三方开发人员或者社交网络系统的管理员可将诸如无线电台对象302、歌曲对象304、艺人对象306、专辑对象314、流派对象316等的任一对象配置为可汇集的对象。因为图谱结构是完全自定义的,所以可对具体对象执行诸如求和、频率、距离、平均以及标准偏差等的汇集以及其他统计功能。例如,从简单查询结构图谱动作和图谱对象可确定并且对社交网络系统130中用户的任一设置可计算出由艺人对象306表示的诸如收听Lady Gaga所花费的小时数等的兴趣数据。当用户收听无线电台上的歌曲时,收听动作310可与对应的无线电台对象302、歌曲对象304以及链接艺人对象306、专辑对象314和该歌曲的流派对象316相关联。艺人出生年对象308不直接链接到收听动作310,而是直接链接到艺人对象306。因此,可使用专业化查询来生成诸如通过出生年进行分类的最佳收听艺人等的兴趣数据可视化。
[0090]图3B至图3J示出了第三方开发人员或者社交网络系统管理员使用社交网络系统130上的工具定义外部系统上用户交互的图谱结构的屏幕截图。图3B示出了社交网络系统中能够定义外部系统中的动作类型和对象类型的网络应用程序的屏幕截图。在本实施方式中,外部系统120是被称为“Matchbook”的应用程序330。动作类型字段332和对象类型字段334能够使第三方开发人员或者社交网络系统130的管理员定义图谱结构。按钮336在被单击时生成社交网络系统130中的动作类型和对象类型。在本实施例中,定义了对“网球比赛(tennis match) ”对象类型的“播放”动作类型。
[0091]如图3C所示,动作类型能够具有由定义图谱结构的第三方开发人员或者社交网络系统管理员定义的各种动词形式和其他属性。在动作类型名称字段338中,可以更改动作类型的名称。对象字段340中可包括附加的对象类型。动作故事或者时间单元的预览可被显示。此处,第一示例性故事342以单数过去时显示动作类型,而第二示例性故事344以复数过去时显示动作类型。在图3C中,未检查用于支持现在时动词的单选按钮,因此当前未定义这些动词形式。
[0092]图3D示出了用于描述与外部系统120有关的动作类型和对象类型的的前置词的下拉菜单346。第一示例性故事342和第二示例性故事344基于在下拉菜单346中选择的前置词进行更新。诸如“位于”、“在...内”、“在...上”、“使用”、“经由”以及“具有”等的不同前置词可表示可用的不同句子结构。图3E示出了支持将现在时动词添加到动作类型的动作类型定义工具的另一实施方式。第三示例性故事348以单数过去时显示动作类型,而第四示例性故事350以复数过去时显示动作类型。图3E还示出了管理员能够设置动作变成过去时之后的时间段的字段。图谱翻译模块234可使用这个时间段来选择现在时与过去时动作类型以形成用于数据可视化的句子。在另一实施方式中,通过诸如歌曲对象上的“持续时间”标签等的元标签可推断动作变成过去时之后的时间段,并且社交网络系统130中的对象可直接经过推断时间段。在形成社交网络系统130中新闻故事的句子时,该工具能够使社交网络系统130自动形成使用正确动词时态赋予意义的句子。出现在新闻故事中的不正确句子减少了新闻故事的吸引力和相关性,从而潜在地鼓励用户不参与具体的品牌。然而,诸如连接到观看用户的另一用户当前正在阅读的新闻故事等的更多相关的新闻故事可就社交网络系统中的新闻故事实时展开讨论,诸如通过聊天消息或者壁纸,从而提供更多吸引人的用户体验。同样,社交网络系统130中阅读表示连接到观看用户的其他用户的新闻故事的观看用户当前正在收听新的Justin Timberlake的歌曲,观看用户可选择加入到那些其他用户中以通过社交网络系统130从新闻故事中收听该歌曲。在这两个实施例中,新闻故事中的现在时动词为观看用户创建更多参与社交网络系统130的机会。此外,社交网络系统130可对社交网络系统130中的观看用户排列和/或汇集过去到现在发生的新闻故事。排列和/或汇集的新闻故事在过去发生,因此,新闻故事必须以过去时表达。因为可自动描绘多个最近时间与过去时间之间通过社交网络系统形成的句子,所以用户体验更加吸引人和相关。
[0093]图3F示出了用于针对外部系统定义图谱结构中的对象类型以将对象类型公布到社交网络系统130上或者公布到社交网络系统130外部域的外部系统120上的工具。在本实施例中,定义了“网球比赛(tennis match) ”对象类型。单数名词形式字段352和复数名词形式字段354能够使第三方开发人员或者社交网络系统130的管理员规定用于公布到社交网络系统130的句子中的对象类型的名词形式。此处,“网球比赛(tennis matches) ”是该对象类型的复数名词形式。图3F还示出了被定义的对象类型的对象属性356。社交网络系统130可构建若干种属性,诸如标题、图像以及说明。通过单击链接358可定义附加属性以包括对象类型的自定义属性。如图3A所述,诸如“歌曲”对象类型等的对象类型可具有多种属性,包括诸如“艺人”对象类型、“专辑”艺人类型以及“流派”对象类型等的其他对象类型。如图3F所示,这些附加属性可被添加到社交网络系统130上被定义的对象类型中。图3F中还示出了单数对象类型实施例故事360和复数对象类型实施例故事362。
[0094]图3G示出了社交网络系统130上的这样一种工具,即,能够使第三方开发人员或者社交网络系统130的管理员管理并且创建定义外部系统120上发生的用户动作的图谱结构的动作类型和对象类型。下拉菜单382能够使第三方开发人员或者社交网络系统的管理员选择被管理的图谱结构。此处,如链接364之后的文本366所示,链接364显示已经定义的作用于“网球比赛(tennis match)”的“播放(play)”动作类型。此外,如链接368之后的文本370所示,链接368显示已经定义具有“类型(Typoe)、标题(Title)、图像(Image) ”等的对象属性的“网球比赛(tennis match)”对象类型。
[0095]此外,图3G示出了能够使第三方开发人员或者社交网络系统130的管理员创建并且编辑动作类型、对象类型和/或资料单元以及生成外部系统上包括的代码片段的按钮和链接,从而捕获用于公布到社交网络系统130的外部用户动作。社交网络系统130的外部实体可包括外部系统中网页上的按钮,即,在社交网络系统130中的用户单击时该按钮生成具有由该实体确定的自定义图谱动作类型的图谱动作实例。可由社交网络系统130经由图3G所示的按钮和链接提供的代码片段可被整合到外部系统上网页的标记语言文档中。例如,“购物清单”按钮可被包括在电子商务网站上关于消费者电子设备的网页中。当社交网络系统130中的用户单击“购物清单”按钮时,“添加”动作实例被记录到动作日志以及关于消费者电子设备的图谱对象的标识符中。在其他实施方式中,社交网络系统130的外部实体可基于其他类型的事件将图谱动作实例记录到动作日志中,诸如单击链接、从触摸屏界面接收触摸以及由于观看用户加载网页而流逝的预定时间段。
[0096]图3G示出了第三方开发人员在定义社交图谱系统130上的图谱结构时可使用的各种链接和按钮。按钮372能够定义新的动作类型,而链接374能够使第三方开发人员或者管理员编辑或者获得被定义的动作类型的代码。在一种实施方式中,动作类型的“获得代码(get code)”链接374提供包括应用程序编程接口(API)调用(包括所需参数)的代码片段,以在用户在外部系统上执行该动作时识别外部系统120上的“播放”动作实例。在另一实施方式中,“获得代码”链接374提供包括被包含在标记语言文档中的元数据标签的包括所需参数的代码片段,以在外部系统120中作为事件发生播放动作时识别“网球比赛(tennis match) ”对象实例,诸如单击按钮或者链接。同样,按钮376能够定义新的对象类型,而链接378能够使第三方开发人员或者管理员编辑或者获得被定义对象类型的代码。在一种实施方式中,“获得代码”链接378提供包括被包括在标记语言文档中元标签的包括所需参数的代码片段,以识别外部系统120中的“网球比赛(tennis match)”对象实例。按钮380能够使第三方开发人员或者管理员定义新资料单元。资料单元是被定义的图谱结构的自定义故事。例如,基于使用图谱检索模块222在外部系统120中捕获的用户动作,可定义自定义查询以使兴趣数据可视化,并且图谱翻译模块234可用于生成关于数据可视化的描述性内容。
[0097]在一种实施方式中,由图3H中所示的工具定义资料单元。通过名称文本字段384可改变资料单元的名称。社交网络系统130包括可用于使资料单元内捕获的外部用户交互可视化的若干个模板。资料单元可作为新闻故事显示在新闻递送内的社交网络系统上或者显示在用户资料页面上。在一种实施方式中,资料单元还可通过嵌入式窗口小部件(例如,内嵌框架)显示在社交网络系统之外的外部系统上。在另一实施方式中,社交网络系统130的外部实体可包括由图3H中所示的工具在其他网站上的广告中定义的资料单元。模板下拉菜单386提供选择的模板,包括地图、列表图、图库、表格以及海报。地图可在地理图上显示发生的外部用户交互。列表图提供列表格式的外部用户交互。根据在捕获外部用户交互过程中的参数化,图库提供外部用户与表示外部用户交互的图像的交互。表格提供外部用户交互的简单表格数据可视化。海报提供分别或者分组显示外部用户交互的时间轴单元或新闻流故事。
[0098]如图3H所示,通过正在执行的动作类型或者对象类型的属性可对捕获的外部用户交互进行分组。文本字段388中规定了这些属性。通过使用文本字段和下拉菜单390的用户指定属性可对外部用户交互进行分类。还显示了被定义的资料单元的预览392。在一种实施方式中,图谱检索模块222能够对外部系统中生成的动作和对象进行分析并且将其呈现在可使用图3H中所示开发工具应用程序进行配置的资料单元中。图谱翻译模块234可用于提供关于资料单元中数据可视化的描述性内容。
[0099]图31示出了如何通过规定文本字段394中对象类型的名称来定义新对象类型。图3J示出了如何通过指定文本字段396中的属性名称和识别下拉菜单398中的属性类型来规定新对象类型的新属性。与图3F相似,图3J中示出的工具屏幕截图能够将多个对象类型属性添加到定义中并且显示包括已添加对象属性的预览。
_0] 捕获用于公布到社交网络系统中的结构化外部用户交互
[0101]在第三方开发人员或者社交网络系统130的管理员已定义用于公布到社交网络系统130的社交图谱中的动作和对象结构之后,第三方开发人员可包括标记语言文档114内识别结构化对象和动作的标签,标记语言文档114对外部系统120上包括上面结合图1A所描述的窗口小部件124的网页122a进行编码。外部系统上的用户交互生成与动作和对象相关联的节点。在一种实施方式中,在生成节点之后,动作和对象被存储在由社交网络系统130维持的社交图谱中。在另一实施方式中,由外部系统120维持社交图谱,但社交网络系统130可访问社交图谱,从而将社交图谱有效地开放给第三方开发人员并且鼓励进一步开发和定义复杂且丰富的社交图谱。
[0102]在一种实施方式中,网页122a包括标记语言文档114,标记语言文档114包括网页内容和用于格式化或者呈现网页内容的指令。在各种实施方式中,标记语言文档114包括数据文件,数据文件包括可扩展标记语言(XML)数据、可扩展超文本标记语言(XHTML)数据或者其他标记语言数据。标记语言文档包括网页122b且包括一个或者多个标签,一个或者多个标签包括有关被定义为捕获网页122a内的外部用户动作的对象类型的元信息。在一种实施方式中,第三方开发人员将脚本语言中的代码片段集成到对网页122a进行编码的标记语言中。在一种实施方式中,该代码片段包括API调用,API调用包括响应事件而创建将用户连接到对象的动作实例的参数,诸如单击按钮或者链接的用户。在一种实施方式中,社交网咯系统130从标记语言文档114检索标签并且使用从标签中提取的信息将动作和对象公布到社交图谱上。在另一实施方式中,提取的信息被存储在社交网络系统130中。标签允许社交网络系统130基于网页122a和外部系统120上的用户交互在社交图谱中创建并且定义用于动作和对象的节点。因为网页122a可以在社交网络系统130的域之外并且可以由实体而非社交网络系统130操作员操作,所以标签能够使第三方创建表示公布到社交网络系统130的社交图谱中的结构化动作和对象的节点。
[0103]由包括在标记语言文档114中对网页122a进行编码的标签提供的有关动作和对象的信息可包括但不限于,标题、标注、唯一标识符、微格式、和/或有关动作和对象的描述以及其他信息,诸如节点类型、规定节点的一个或者多个管理员的一个或者多个社交网络系统用户标识符、和/或与节点相关联的位置信息。标题标签在社交网络系统130访问节点时识别示出的文本字符串。同样,关键字标签包括识别一个或者多个关键字的文本信息,一个或者多个关键字识别动作或者对象,以及描述标签包括在呈现节点时描述由社交网络系统130显示的动作或者对象的文本。图像标签可识别在呈现节点时通过社交网络系统130或者通过窗口小部件124显示的图像。统一资源定位符(URL)或者其他网络标识符可用于识别在外部系统120上的网页122b中描述的图谱对象。如果用户单击链接以在因特网无线电台网站上播放歌曲,例如,该链接可以是Adobe shockwave-flash(.swf)多媒体文件中的动作事件。第三方开发人员可将歌曲对象、艺人对象等的标识符嵌入在诸如Adobeshockwave-f I ash多媒体文件等的其他文件中。诸如跑步锻炼持续时间等的动作属性值的标识符可被嵌入到诸如Adobe shockwave-flash多媒体文件等文件中。如果是Adobeshockwave-f lash多媒体文件中的动作事件,第三方开发人员则将需要创建由图谱定义模块132定义的对象和动作的信息传送给嵌入到网页122a中的窗口小部件124。
[0104]管理员标签包括规定社交网络系统130的用户能够创建和/或维持与网页122a上加标签的动作和对象相关联的节点的一个或者多个社交网络系统130的用户标识符。管理员标签能够使社交网络系统130的规定用户使用仅对由管理员标签规定的用户标识符可用的用户界面来创建并且维持节点。在一种实施方式中,应用程序标识符可代替管理员标签而被使用来识别对象所有者。在另一实施方式中,社交网络系统130可基于对象被托管的域而自动检测对象所有者。例如,如果由网站上的网页描述对象,诸如http://WWW.example, com/SNOWMAN,其中,“SNOWMAN”是对象,则“SNOWMAN”对象的所有者可被自动检测为域“www.example, com”。然后,社交网络系统可确定有关对象的计量信息,诸如与对象交互的用户数量。社交网络系统还可基于对象所有者监控对象行为。例如,可阻止已知的垃圾邮件发送者创建对象。由所有者创建的与社交网络系统没有连接的对象可被监控以确定对象是否是垃圾邮件、病毒或者其他恶意软件。
[0105]一个或者多个微格式将语义学附接到包括在标记语言文档114中的其他标记标签,这允许社交网络系统130自动处理由标记标签识别的信息。微格式允许使描述对象和动作的数据标准化。此外,一个或者多个微格式可增加社交网络系统130中从网页122a获得的信息,以更加具体地识别节点类型或者将类型与对象或者动作关联起来。例如,使用微格式从网页122a获得的附加信息能够使社交网络系统130从微格式中鉴别正在浏览的网页122a是何种类型,诸如因特网无线电台网站、电子商务网站、或者新闻服务。在一种实施方式中,作为附加的检查以验证在外部系统120上获取的用户动作,社交网络系统130可预期这些类型的网页专用的动作和对象。此外,微格式能够使社交网络系统130更多地了解有关其用户连接到与网页122a相关联的对象和动作的用户的兴趣。同样,位置标签提供有关与网页122a相关联的位置的信息给社交网络系统130。例如,位置标签识别与网页122a相关联的一个或者多个地址。
[0106]节点类型标签识别社交网络系统130上的节点类型。社交网络系统130能够对不同类型的节点执行不同的动作。节点可表示用户、非个人实体、内容项、组、事件、消息、概念、运动队、博客、活动、网站、电影、音乐家、酒店、大学、政府机构、由UPC识别的产品、书籍、餐馆、公司、陆标、酒吧、位置或者能够由社交网络系统130中的对象表示的任何其他事物。节点类型标签能够使第三方开发人员识别外部系统120中的这些节点和托管在外部系统上的网站的网页122a。例如,关于歌曲对象的节点类型标签可包括诸如“〈nodetype =Graph Pb iect><0G:music: song>Moves Like.Tagger〈/0G>,,等的字符串,其中,节点标签识别是图谱对象的节点类型并且标签识别标题为“Moves Like Jagger”的歌曲的链接。
[0107]外部系统120生成对网页122a进行编码的标记语言文档114并且经请求之后将标记语言文档114提供给用户设备110。用户设备110采用使用包括用户的用户资料对象标识符的小型文本文件116的浏览器应用程序112。在一种实施方式中,标记语言文档114内的窗口小部件124包括对社交网络系统130执行API调用的指令,包括有关网页122a中图谱对象的用户动作的信息。在一种实施方式中,窗口小部件124在由浏览器应用程序112渲染的网页122a中不可见。在另一实施方式中,窗口小部件124在网页122a中生成用户动作的动作日志以记录由用户被动生成的动作和对象,使得社交网络系统130可定期检索用于将动作和对象公布到社交图谱上的动作日志。在一种实施方式中,从动作日志提取的或者经由API调用接收的信息可被存储在社交网络系统130中。在另一实施方式中,提取的信息可用于生成社交网络系统130的流中的新闻故事或者内容项。
[0108]一旦社交网络系统130具有由第三方开发人员或者社交网络系统130的管理员定义的存储类型对象和存储类型动作以及对象与动作之间的关系,通过社交网络系统130的用户与外部系统120中网页122a的交互可生成图谱动作和图谱对象。图4是根据本发明的实施方式的用于捕获社交网络系统130之外的结构化动作和对象的过程的交互图。在由图4所示的实施方式中,外部系统120独立于社交网络系统130。首先,用户设备110请求410来自外部系统120的内容。例如,用户设备110的用户将与外部系统120相关联的统一资源定位符(URL)或者其他标识符输入到在用户设备110上运行的浏览器应用程序112。浏览器应用程序112识别与接收的URL或者其他标识符相关联的外部系统120并且从识别的外部系统120请求410与接收的URL或者其他标识符相关联的网页122a。又例如,用户设备110的用户在与外部系统120相关联的用户设备110上打开应用程序并且由应用程序将对内容的请求410发送给外部系统120。
[0109]在接收对内容的请求410之后,外部系统120使用本地存储数据生成412内容。例如,外部系统120基于存储数据生成412描述内容和格式化网页122a的标记语言文档114。标记语言文档114包括窗口小部件124,窗口小部件124包括在由用户设备110的浏览器应用程序112执行时从社交网络系统130检索数据并且显示从社交网络系统130检索的信息的指令。又例如,外部系统120可响应来自用户设备110的API调用来生成412内容。
[0110]然后,外部系统120将内容发送414给用户设备。在一种实施方式中,外部系统120通过网络140将描述生成网页122a和包括窗口小部件124的标记语言文档114发送414给用户设备110。在接收标记语言文档114之后,浏览器112基于包括在标记语言文档114中的内容和格式化指令来渲染416网页122a。除了渲染416网页122之外,用户设备110中的浏览器112执行418窗口小部件124以在网页122a中创建帧。窗口小部件124的执行还通过经由小型文本文件对用户设备进行认证而使浏览器112请求420来自社交网络系统130中的个人化内容。包括在窗口小部件124中的URL或者其他网络标识符被传送给社交网络系统130以请求420来自与URL或者其他网络标识符相关联的对象和动作的内容。在一种实施方式中,浏览器112还从窗口小部件124识别一个或者多个参数并且在请求420包括在帧内的内容时将识别的参数发送给社交网络系统130以允许进一步自定义请求内容。在另一实施方式中,经由从用户设备110到社交网络系统130的API调用执行对个人化内容的请求420。如上所述,由定义动作和对象的结构的第三方开发人员将API调用参数化。
[0111]响应从用户设备110接收对内容的请求,社交网络系统130经由小型文本文件116对用户设备110进行认证。在一种实施方式中,小型文本文件116的存在表示计算设备110的用户是否是社交网络系统130的用户(例如,用户是否是社交网络系统130的有效账户)。如果计算设备110的用户是社交网络系统130的用户,则小型文本文件116可包含表示用户是否已登录到社交网络系统130的信息(例如,用户在社交网络系统130中的当前会话是否有效)。尽管为了认证用户和/或用户会话而在本公开中描述的小型文本文件,然而,可使用用户或者会话识别或者认证的任何其他方法(诸如,识别物理令牌)。
[0112]在对用户设备110进行认证之后,社交网络系统130生成422包括在帧内根据与接收的小型文本文件116相关联的用户来个人化的请求个人化内容。例如,社交网络系统130生成422描述与包括在窗口小部件124中的URL相关联的并且与识别的用户的朋友相关联的节点动作的社交信息。例如,生成的社交信息识别对某个类型对象采取特定类型动作的识别用户的多个朋友或者识别最近对某类型对象采取特定类型动作的用户的特定朋友。可替代地,社交网络系统130在不添加与已识别用户相关联的社交信息的情况下通过从与包括在窗口小部件124内的URL相关联的动作和对象中提取数据来生成420内容。例如,社交网络系统130确定之前在包括在窗口小部件124中的URL上捕获的动作与对象的标题、描述以及图像。例如,即使其他用户不直接连接到该用户,通过兴趣喜好对由其他用户执行的动作进行分类可使与用户设备110相关联的社交网络系统130的用户个人化该内容。
[0113]如果社交网络系统130确定与接收的小型文本文件116相关联的用户与存储在与包括在窗口小部件124中的URL相关联的对象类型或动作类型中的管理员用户标识符匹配,社交网络系统130生成422由帧呈现的管理内容。包括在标记语言文档114中的对网页122a进行编码的管理员标签规定社交网络系统130中的用户能够创建和/或维持与网页122a相关联的对象类型或者动作类型。因此,当社交网络系统130识别与管理员用户标识符相关联的用户时,社交网络系统130生成422允许用户修改与包括在窗口小部件124中的URL相关联的节点的内容。例如,社交网络系统130在用户经由帧进行访问时生成422将用户指引到调试页面的链接。可替代地,社交网络系统130从与包括在窗口小部件124中的URL相关联的节点生成422调试信息以使用帧进行显示。例如,社交网络系统130识别从标记语言文档114中丢失的对网页122a进行编码的标签,并且允许用户输入丢失标签或者修改现有的标签。
[0114]然而,如果社交网络系统130不能对与接收的小型文本文件116相关联的用户进行认证,社交网络系统130通信提示用户将认证信息输入到用户设备110中。可替代地,社交网络系统130在不使用户内容个人化的情况下通过从与包括在窗口小部件124中的URL相关联的节点中提取数据来生成422内容。在另一实施方式中,社交网络系统130通过从与包括在窗口小部件124中的URL相关联的节点中提取数据并且确定由社交网络系统130的任一用户对识别的节点采取的动作来生成422内容。例如,社交网络系统130可识别有关由社交网络系统130的任一用户执行的已识别动作类型和对象类型的最近用户交互。因此,直至社交网络系统130接收与接收的小型文本文件116相关联的用户相关的认证信息,由社交网络系统130生成422的内容才不包括描述由有关识别节点的接收的小型文本文件116相关的该用户朋友执行的动作的社交信息。
[0115]用户设备110通过网络140从社交网络系统130接收424个人化内容。然后,用户设备Iio显示426从社交网络系统130接收424的个人化内容。然后,用户设备110从与该动作相关联的用户接收428输入。用户设备110可从执行该动作的用户接收明确信息,诸如在用户设备110上运行的能够使用户使用用户设备110经由提示或者其他用户界面来表示用户“跑了 10英里”或者“阅读‘Tales of the City’”的应用程序。在另一实施方式中,用户设备110可观察由用户执行的动作,诸如用户加载具体的网页、打开电子书阅读器应用程序并且加载书、或者打开音乐应用程序和加载歌曲。由第三方开发人员或者社交网络系统130的管理员定义该动作,诸如收听歌曲、读书、举重、或者播放网球比赛。在一种实施方式中,通过鼠标单击、触摸命令、或者浏览器应用程序中的语音命令可接收与该动作相关联的用户的输入。在另一实施方式中,通过提交HTTP请求以加载网页的特定URL可接收428与该动作相关联的用户输入。在又一实施方式中,通过经由在用户设备110上运行的应用程序检索其GPS定位的用户设备110可接收428与动作相关联的用户输入。在进一步的实施方式中,通过与外部系统通信的用户设备110可接收428与动作相关联的用户输入以在用户设备110上执行动作,诸如播放因特网无线电台中的下一首歌曲或者获得网球比赛的新的高分数。如上所述,第三方开发人员或者运行外部系统120的操作员(operator,操作符)实施窗口小部件124中的代码片段以识别通过用户设备110接收428的动作。以此方式,一旦社交网络系统130完成对用户设备110的认证,用户设备110的用户可被动创建由用户设备110接收428的动作。
[0116]已接收428动作的用户设备110执行430有关该动作的窗口小部件逻辑或者包括在窗口小部件中的指令。在一种实施方式中,窗口小部件中的指令使执行窗口小部件124的浏览器应用程序112根据与由窗口小部件124识别的URL相关联的动作类型和对象类型的定义结构记录该动作。窗口小部件还可包括将有关API调用中用户动作的信息发送432给社交网络系统130的指令。该信息可包括已执行动作类型、对象类型、有关该用户的用户标识符以及有关已执行动作的上下文信息,诸如跑步的英里数、燃烧的卡路里量、锻炼地点、诸如音乐应用程序等的同时运行的其他应用程序。社交网络系统130记录440用户与动作类型节点之间的动作。在任一用户与社交网络系统130中的节点交互时,该交互可在用户与该用户与其交互的动作类型之间创建一个边。存储的边提供有关动作类型节点与用户之间的连接的有用信息(其中,该用户也以节点表示)。例如,该边信息可存储在社交网络系统130的对象存储器中、存储在与该用户相关联的用户资料对象中或者作为独立连接对象存储在连接存储器214中。
[0117]因为接收428的动作可在与外部系统120的任一通信中发生,所以通过外部系统120可汇集434而非由用户设备110分别报告用户动作。社交网络系统130可定期请求436并且社交网络系统130可定期检索438这些汇集的动作,使得动作能够被记录440在社交网络系统130中。在该实施方式中,社交网络系统130可向外部系统120提供API以使得经请求436可对汇集动作进行检索438。可替代地,可使用用于将来自外部系统120的信息传送给社交网络系统130的任何其他合适机制。
[0118]因此,由社交网络系统130维持的社交图谱可包括能够在任一外部系统上生成的动作和对象。除了增加由社交图谱存储的数据量之外,社交图谱对第三方开发人员的开放确保了社交网络系统130的用户容易将与外部系统的现实世界交互集成、分享以及发现给社交网络用户体验,诸如从不同的外部系统播放音乐播放列表曲目,参与讨论有关与社交网络系统连接的新艺人专辑,经由推荐和评论将有关收听喜好的信息被动分享给社交网络系统的用户,以及其他与嵌入在外部系统120中的概念的交互的无限次组合。
[0119]图5A至图5C示出了外部系统120的网页122a的一种实施方式。网页122a包括基于社交网络系统130中连接到浏览网页122a的用户的其他用户来显示从外部系统120公布的社交图谱数据的查询结果的帧504。网页122a包括诸如用于使用在用户设备110上运行的浏览器应用程序112进行展示的文本数据、视频数据、图像数据或者任何其他数据等的内容510。网页122a还包括描述格式化或者展示内容510的一个或者多个指令。当在用户设备110上运行的浏览器应用程序112执行包括在网页122中的指令时,浏览器应用程序112使用通过网页122a描述的格式或者展示来显示已识别内容510。
[0120]网页122a还包括调用与社交网络系统130相关联的域内的统一资源定位符(URL)的帧504。由在执行窗口小部件124的用户设备110上运行的浏览器应用程序112渲染的帧504包括在对网页122a进行编码的标记语言文档114中。窗口小部件124包括在由浏览器应用程序112执行时的一个或者多个指令,窗口小部件124在网页122a内生成帧504并且将来自社交网络系统内的信息包括在帧504中。在一种实施方式中,帧504是包括从社交网络系统130获得的数据的内嵌框架。内嵌框架还被描述为将社交相关信息整合到外部系统120的网页122a中的插件。社交相关信息可被定义为基于已知有关观看用户的信息可预见有关观看用户的社交网络系统130中的连接或者其他用户的信息。在一种实施方式中,从与观看用户相关联的用户资料对象可获得并且从社交网络系统130可获得观看用户的兴趣和喜好。在另一实施方式中,可能不知道社交网络系统130上的观看用户身份。在这种情况下,有关在网页122a中生成的内容的信息可用于使帧504填充有有关该内容的社交相关信息。插件可包括由社交网络系统的用户在正在浏览的外部系统120上生成的图谱动作和图谱对象。
[0121]帧504包括来自社交网络系统130中与由社交网络系统130维持的节点相关联的并且与由窗口小部件124规定的URL或者其他网络标识符相关联的数据。例如,当浏览器应用程序112执行窗口小部件124时,包括歌曲对象标识符、无线电台对象标识符、和/或用户资料标识符的内容请求从浏览器应用程序112被传送给社交网络系统130。社交网络系统130从对内容的请求识别歌曲对象304和/或无线电台对象302并且基于用户资料对象318的连接将有关已识别歌曲对象304和/或无线电台对象302的社交相关信息传送给浏览器应用程序112。浏览器应用程序112在帧504内显示社交相关信息。在一种实施方式中,窗口小部件124将一个或者多个参数传送给社交网络系统130。参数允许网页124自定义帧504。例如,参数规定帧504的高度和/或宽度。
[0122]在一种实施方式中,窗口小部件124包括在完成特定事件之后执行API调用的脚本语言指令,诸如单击到URL或者其他网络标识符的特定链接。例如,图5A示出了包括窗口小部件124的网页122a的一部分500。窗口小部件124包括无线电台菜单502、收听按钮514、下一首按钮516、正在播放带512以及帧504。选择收听按钮514能够使用户在因特网无线电台网站上播放音乐。单击收听按钮514完成该事件,窗口小部件124通过与该用户相关联的用户资料对象318记录收听动作310。此外,无线电台对象302和歌曲对象304被记录并且与收听动作310相关联。在一种实施方式中,窗口小部件124可将被传送给社交网络系统130的动作和对象记录到动作日志中。在另一实施方式中,窗口小部件124将消息传送给包括API调用中的无线电台对象302、歌曲对象304、收听动作310以及用户资料对象318的社交网络系统130。对社交网络系统130的该API调用能够在社交图谱上创建节点,从而提供被公布到社交网络系统130中显示给用户连接的流中的新闻故事和内容项的内容。[0123]又例如,经用户请求,社交网络系统130的外部移动应用程序可操作为收听在俱乐部中正在播放的歌曲。假定移动应用程序的用户许可移动应用程序与社交网络系统130分享信息,则通过窗口小部件124以及收听动作310可记录对应于在俱乐部中正在播放的已识别歌曲的歌曲对象304。基于用户移动设备上的GPS定位服务也可通过窗口窗口小部件124记录位置对象312。移动应用程序可整合窗口小部件124以记录和报告由社交网络系统130的用户执行的对象和动作。因此,可更新用户的用户资料对象318以反映对与歌曲对象304相关联的流派对象316的音乐流派的兴趣。此外,用户可签到由位置对象312表示的地点。因此,被整合到应用程序或者网页中的窗口小部件124能够使社交网络系统130的用户将与外部系统120的一个或者多个交互被动地公布到社交图谱上。
[0124]帧504还可包括从社交网络系统130中获得的社交相关信息506,诸如“最佳3首歌曲‘Your Friends’ ”。这能够使帧504中的内容对于社交网络系统130中的已识别用户个人化。社交相关信息506可对于已识别用户的朋友个人化,或者如果社交网络系统130中的用户不能被识别,社交相关信息506可以是从所有用户获得的信息。此外,使用对与对应于当前正被浏览的对象的对象标识符有关的结构化动作和对象的查询可对社交相关信息506进行检索。在这种情况下,正在播放的带512是当前正在播放的由艺人“Britney Spears”演唱的歌曲 “Till The World Ends”。
[0125]图5A至图5C示出了用于因特网无线电台的外部系统120的示例性网页。社交网络系统130的用户已经许可外部系统120与社交网络系统130分享信息。用户已经在无线电台菜单502上选择508收听外部系统120上的无线电台的“Britney”。正在播放的带512中由艺人“Britney Spears”演唱的歌曲“Till the World Ends”当前正在播放。在一种实施方式中,当用户单击“收听”按钮514时,嵌入在网页122a中的窗口小部件124对具有用户的用户资料对象标识符和歌曲对象标识符的社交网络系统130执行API调用。在另一实施方式中,窗口小部件124将由社交网络系统130定期检索的收听动作和歌曲对象记录到动作日志中。在进一步实施方式中,窗口小部件124将有关收听动作实例和歌曲对象实例的识别信息记录到社交网络系统130的动作日志中。在一种实施方式中,有关歌曲的歌曲对象标识符是歌曲的名称和艺人的姓名。在另一实施方式中,由第三方开发人员或者社交网络系统的管理员将字母数字标识符分配给歌曲。在进一步实施方式中,歌曲对象的标识符是描述外部系统120中的歌曲对象的网页122b的URL。
[0126]如果用户单击“下一首”按钮516,第三方开发人员可解释为用户对刚在播放的歌曲不感兴趣。因此,可对具有用户的用户资料对象标识符和歌曲对象标识符的社交网络系统130执行另一 API调用以表示用户跳过该歌曲。通过使用该信息的应用程序可解释“跳过”动作以将用户的用户资料信息修改为表示用户对该歌曲、演唱该歌曲的艺人以及甚至与该歌曲相关联的音乐流派不感兴趣。因为根据第三方开发人员或者社交网络系统130的管理员的定义来构造歌曲对象,诸如图3中描述的歌曲对象304链接到艺人对象306的结构,且歌曲对象和艺人对象均链接到流派对象316,所以可对图谱对象执行图谱动作的分析。通过社交网络系统130和/或外部系统120的各个模块可生成对图谱动作和图谱对象的解释。
[0127]图5A还示出了窗口小部件124如何将社交相关信息506提供给有关当前正在播放的歌曲的用户。这是对由本发明的实施方式生成的动作和对象执行的查询结果。在图5A中,“最佳3首歌曲‘Your Friends’”表示通过社交网络系统130中的用户连接进行播放的最佳3首歌曲。除了诸如由社交网络系统130的管理员开发的最常播放歌曲等模板查询之夕卜,第三方开发人员还可使用自定义查询。例如,在图5B中,窗口小部件124提供用于显示给用户自己的最佳3首歌曲的用户的帧520。检索这些结果的查询可排除除了用户最常收听的歌曲之外的用户跳过的歌曲。如图5C中示出显示用户喜欢的最佳艺人的出生年的帧522所示,可生成更多错综复杂的查询以提供更多感兴趣的数据可视化。该查询采用用户最常收听的歌曲,然后,通过艺人的出生年进行分组。尽管未示出,然而,还能够在社交网络系统130中的用户连接上或者对社交网络系统130中的所有用户执行该查询。再次,如上述图3所示,通过由第三方开发人员或者社交网络系统130的管理员定义的歌曲对象的结构可以执行这些查询。
[0128]图5C示出了由社交网络系统130中的用户正在播放的另一无线电台,“Glee”电台。在一种实施方式中,选择508 “Glee”无线电台还可通过作为API调用中的参数的有关“Glee”和用户的用户资料对象标识符的无线电台对象标识符302的窗口小部件124触发对社交网络系统130的API调用。在另一实施方式中,动作日志可填充有相同信息并且由社交网络系统130定期进行检索。例如,除了图3中描述的“收听”动作之外,“切换”动作可被记录在动作日志中。
[0129]如图5A至图5C所示,基于外部系统120中尤其网页122a中的用户动作,可生成多个动作和对象并且公布到社交网络系统130的社交图谱上。具体地,在一种实施方式中,第三方开发人员可对嵌入到网页122a中的窗口小部件124进行编程,以在发生诸如单击各个按钮、菜单以及链接等的用户事件时执行对社交网络系统130的API调用。在另一实施方式中,窗口小部件124可就执行这些事件的用户生成动作日志并且将对象和动作记录到社交网络系统130的动作日志中以进行定期检索。
[0130]图示出了根据本发明的实施方式的在外部系统120的网页122a中执行的窗口小部件124的实施例。在一种实施方式中,窗口小部件124包括对社交网络系统130生成API调用的指令,以对推荐给观看用户的社交相关信息538进行检索。图示出了托管在外部系统120中的新闻文章网站,其中,窗口小部件124呈现整合从社交网络系统130获得的社交相关信息538 ( “Vladimir Putin是Soleio Cuervo和3位朋友正在阅读的人”)的插件530。如图所示,新闻文章“Vladimir Putin是个厉害的人”是图谱对象并且“阅读”是图谱动作。“Soleio Cuervo”和“3位朋友”是演员540或者社交网络系统130中对图谱对象执行图谱动作的用户。由于对应于演员540的API调用可从社交网络系统130检索图像544并且还可在插件530中显示图像544。
[0131]图谱动作可被整合到自定义执行按钮532中,诸如能够标记新闻文章为“未读”的按钮。自定义执行按钮532可根据涉及的图谱动作类型来整合各个编程指令。在这种情形下,自定义执行按钮532生成一个独立的动作,“未读”动作,从而将“阅读”动作修正为用户加载网页122a。在一种实施方式中,当用户花费预定的时间量在网页122上时可被动生成“阅读”动作,或者在另一实施方式中,向下滚动到网页122的下端时可被动生成“阅读”动作。诸如与社交网络系统中的连接分享节点和表达赞许节点等的其他动作还可被整合到插件530的发送按钮534和赞按钮536中。插件530还包括社交相关信息538内由社交网络系统130中的用户做出的多条评论和赞许表达。最后,可提供用于在插件530中显示的认证按钮542,以继续对被动公布到社交网络系统130中的在外部系统120中生成的图谱内容项进行认证。例如,可在插件530中提示访问托管在外部系统120中的网站的网页122a的用户以将该网站添加到与用户相关联的资料页面中。为此,当用户继续与该网站交互时,用户授权许可社交网络系统130将内容项被动公布到流中。这有益于生成社交网络系统130中的用户发现和分享的同时也在外部系统120中捕获现实世界交互的附加图谱内容项。
[0132]在另一实施方式中,第三方开发人员可包括外部系统120的网页122a中的窗口小部件124,外部系统120包括有关网页122a中的内容的社交上下文。可在嵌入到网页122a中的图谱对象上执行多个动作,诸如“推荐”、“分享”、“赞”、“已读”、“评论”、“下载”等。在图中,观看用户正在“阅读”文章。包括在窗口小部件124中的图像544可包括对新闻文章对象执行“阅读”动作的其他用户。另一方面,因为连接到观看用户的多数用户已经对图谱对象执行该动作,所以不同动作可被确定为是对图谱对象的“最佳”动作,诸如“推荐”动作。因此,图像544可描述已经执行“最佳”动作的其他用户执行“推荐”动作。在进一步实施方式中,窗口小部件124可使用诸如观看用户的兴趣、喜好以及过去点击行为等有关观看用户的信息来确定显示的“最佳”动作。例如,因为观看用户经常对其他文章做出评论,所以“评论”动作可以是对图中显示的图谱对象的“最佳”动作。因此,被显示给观看用户的图像544可包括已对新文章做出评论的其他用户。在一种实施方式中,第三方开发人员可包括有关网页122a中内容的社交上下文并且可拓展有关嵌入在网页122a中的图谱对象的其他用户交互的可视化,从而也包括对有关嵌入在网页122a中的图谱对象的其他对象感兴趣的用户。例如,不仅显示窗口小部件124中与标题为“The Celebrity Defense”的文章(图5D中所描述的有关“Roman Polanski”的文章)交互的用户,窗口小部件124可显示连接到对社交网络系统中页面对象“Roman Polanski”感兴趣的观看用户的用户,窗口小部件124还可显示与有关由Roman Polanski执导的电影的电影评论的图谱对象交互的用户,以及对有关Roman Polanski的其他新闻文章做出评论的用户。在本实施例中,因为嵌入在网页122a中的图谱对象包括关键字“Roman Polanski”,所以窗口小部件124包括社交网络系统中与包括图谱对象的其他对象交互、具有与诸如电影导演图谱对象“RomanPolanski”等的它们相关联的元数据的用户。在其他实施方式中,第三方开发人员可包括窗口小部件124中的自定义查询,从而可以搜索连接到观看过由Roman Polanski执导的电影并且对法律文章感兴趣的观看用户的其他用户。因为自定义图谱对象可包括可搜索到的对象属性,所以可执行自定义查询。
[0133]对用于公布到社交网络系统中的图1普内容项进行排列
[0134]图6示出了根据本发明的实施方式的图谱内容项排列模块的高级框图。图谱内容项排列模块150包括机器学习模块600、启发式分析模块602、应用程序存储模块604、图谱对象推荐模块606、性能计量分析模块608以及图谱内容项存储模块610。这些模块可彼此结合或者独立执行以开发出有关从外部系统120中生成的被传送给社交网络系统130的图谱数据进行汇编的内容项的排列分数。
[0135]机器学习模块600优化社交网络系统130中图谱内容项的排列。采用具有初始权重的训练模块,机器学习模块600可结合性能计量分析模块608来使用以确定如何最佳优化排列,从而呈现更多的相关内容项。例如,机器学习模块600可将被标记为垃圾邮件或者由观看用户隐藏的内容项解释为训练信息,从而在图谱内容项的排列中调整由机器学习模块600使用的初始权重。在一种实施方式中,机器学习模块600可结合其他模块使用,以明确包括或者排除社交网络系统130中用于显示给特定观看用户的内容项。
[0136]启发式分析模块602独立操作并且与图谱内容项排列模块150中的其他模块异步操作。启发式分析模块602执行各个步骤来分析由社交网络系统130收集的有关外部系统120中生成的对象和动作的信息。在一种实施方式中,启发式分析模块602可用于经由外部用户交互来分析有关嵌入在生成的对象中的特定兴趣的通信活动级别并且确定这些通信是否包括在排列从那些外部用户交互生成的内容项时的相关关键字。例如,读作“新LadyGaga单曲比Britney的更好”的对发布在社交网络系统130上的内容项的评论可被启发分析模块602分析为是指对“Lady Gaga”比对“Britney”更感兴趣,且因此,可在评论作者的用户资料对象中分配更高喜好分数给“Lady Gaga”。作为另一实例,对象到对象相似性分析可被启发分析模块602实施为识别观看用户已参与的或表达感兴趣的类似的对象到对象。相似性分析随后可以由图谱对象推荐模块606利用。当用户对外部系统120的交互生成图谱对象和图谱动作,通过利用来自启发分析模块602的信息来排列汇集的图谱内容项。
[0137]应用程序存储模块604基于从外部系统120接收的图谱数据142存储有关质量的应用程序。基于下列各种因素可通过社交网络系统130中的其他模块分配应用程序信誉分数,包括应用程序的用户数量、应用程序的使用时间、开发人员是谁、应用程序的报告次数、已公布或者标记为垃圾邮件的流故事数量、社交网络系统是否禁用应用程序等。通过应用程序存储模块604可分析这些因素,以在排列用于显示的内容项时生成由图谱内容项排列模块150使用的应用程序质量分数。可用于生成应用程序质量分数的附加因素可包括印象程度、点击率、评论、以及与提供用于显示给社交网络系统130中的观看用户的内容项的其他交互。有关应用程序的接收信息可包括基于过去的几个小时白昼星期以及月的历史值在一种实施方式中,基于有关该应用程序的接收的正反馈和负反馈,可结合机器学习模块600和性能计量分析模块608逐渐优化有关应用程序的应用程序质量分数。
[0138]基于与其他对象的过去交互、观看用户的兴趣以及连接到观看用户的其他用户与其他对象的过去交互,图谱对象推荐模块606提供突出观看用户可能感兴趣的对象的推荐引擎。在一种实施方式中,从有关观看用户的用户矢量与参考对象的用户无关故事矢量的点乘积来确定推荐分数。观看用户可能偏好于特定种类的对象类型,诸如音乐视频、社交评论链接、新闻文章、政治运动以及社交原因。可将这些浏览喜好存储为具有对应于该种类对象的喜好的值的用户矢量。同样,可对有关对象的元数据进行分析并且存储在具有有关用户矢量中各个种类的关系值的用户无关故事矢量中。本领域技术人员能够认识到,用户矢量和用户无关故事矢量中的信息可存储在诸如阵列、矩阵以及数据库等各种数据结构中。此处,仅出于说明之目的而使用术语“矢量”。例如,如果连接到观看用户的三(3)位用户与观看用户收听九十九(99)首相同的歌曲,并且这3位用户还收听了 100首(第100首)歌曲,则推荐引擎可选择第100首歌曲作为可与观看用户相关的歌曲对象。推荐引擎使用用户矢量和用户无关故事矢量来计算可推荐给观看用户的潜在对象的推荐分数。
[0139]诸如其结构中定义的图谱对象的属性等对象元数据可用于生成图谱对象的种类。例如,具有社交评论的Lady Gaga的音乐视频在故事矢量的音乐视频参数和社交原因参数方面值为I。在一种实施方式中,社交网络系统可生成故事矢量。在另一实施方式中,可通过生成对象和动作的外部系统生成故事矢量。作为用户矢量与用户无关故事矢量的点乘积的结果,基于观看用户的喜好和有关内容项(故事)中参考的对象的信息生成对内容项的推荐分数。在一种实施方式中,使用诸如音乐视频文件格式、社交原因中专用的网络域名等未知种类可自动生成有关故事矢量的值。因此,通过分析社交网络系统上其他用户的行为模式可生成有关图谱对象的观看用户的用户具体分数。这能够使社交网络系统预测观看用户是否对图谱对象感兴趣
[0140]通过图谱对象推荐模块606还可异步地确定对象到对象的相似性分析。基于对象属性可对图谱对象进行分析以确定图谱对象是否充分相似。例如,游戏应用程序可包括“战略游戏”对象属性。包括“战略游戏”的同一对象属性的其他游戏应用程序可被视为相似。在另一实施例中,图谱对象推荐模块606将可将具有“乡村”同一流派对象属性的歌曲对象视为相似。继续上述实施例,还包括社交评论的Katy Perry音乐视频可被确定为与包括推荐显示给并不对Katy Perry具有浓厚兴趣的观看用户的社交评论的Lady Gaga音乐视频足够相似。可生成相似性分数模型以用于对图谱对象的相似性进行评分。因此,基于观看用户与其他图谱对象交互的相似性,图谱对象推荐模块606可使用预定的相似性阈值来确定是否将对象推荐给观看用户。在一种实施方式中,可对用户行为进行分析以确定图谱对象是否相似。图谱对象推荐模块606可与启发式分析模块602结合使用以在之前的垃圾邮件行为方面对应用程序行为进行分析,从而确定对象是否被视为与另一对象相似。图谱对象推荐模块606也可出于过滤之目的而对对象元数据加入索引。
[0141]此外,在一种实施方式中,图谱对象推荐模块606可跟踪已显示给用户的对象类型并且推荐最近未显示的对象类型。该信息可被跟踪并且维持在与该用户相关联的用户资料对象中。这对用户有益,因为具有多样化对象类型的各种内容项可能更吸引用户,并且因此提供了社交网络系统130中更佳的用户体验,同时还为广告商提供更多做广告的机会。
[0142]已由图谱对象推荐模块606推荐的对象和/或内容项可能影响由图谱内容项排列模块150在改变强度时生成的排列分数,诸如通过指数式、线性式或者对数式增加排列分数。例如,根据由用户矢量与用户无关故事矢量的点乘积确定的上述推荐分数可能极其影响排列分数并且由此可能指数式地增加排列分数。又例如,由于不确定观看用户的喜好,所以对象到对象相似性分析可能对排列分数的影响较低。机器学习模块600和启发式分析模块602可结合图谱对象推荐模块606和性能计量分析模块608使用,以细化和调整推荐分数可能对内容项的整体排列分数的影响程度。
[0143]性能计量分析模块608跟踪转换速率和已被排列并且显示给观看用户的内容项的点击率(CTR),从而提供有关通过图谱内容项排列模块150生成的排列分数的反馈。具体地,机器学习模块600使用由性能计量分析模块608收集的信息来调整和优化各种参数,包括用户资料对象的喜好、在确定推荐分数时使用的用户矢量和用户无关故事矢量中的参数、以及用于确定社交网络系统130中能够在外部系统120上生成对象和动作的应用程序质量的应用程序质量分数。除了内容项的点击率(CTR)之外,通过性能计量分析模块608收集其他性能计量并且在优化排列分数模型时针对用户分析其他性能计量,诸如跟踪观看用户将内容项标记为垃圾邮件的频繁程度比率的“标记为垃圾邮件”率、同样跟踪将应用程序报告为滥用的频繁程度比率的“报告为滥用”率、以及评论和对内容项的“赞”的次数等。这些性能计量包括来自用户的负反馈和正反馈,且这些性能计量提供预测外部系统120是否是垃圾邮件用户或者提供社交相关信息的价值。[0144]在一种实施方式中,用户可选择在社交网络系统130的用户资料页面上突出的内容项。该选择也可被称为将内容项“钉”到资料页面。出现在用户资料页面上的内容项也可被称为“时间轴单元”,并且使用图谱内容项排列模块150可通过社交网络系统自动“钉”各种时间单元。为了选择被钉为时间轴单元的内容项,图谱内容项排列模块150使用各种信息和因素来突出社交网络系统130中的用户高度评价、分享、加签以及参与的具体内容项。在本实施方式中,性能计量分析模块608还可收集附加的性能计量,以在用户资料页面上自动生成时间轴单元时将附加因素提供给图谱内容项排列模块150,其中包括用户钉的时间轴单元数量、用户明确隐藏的时间轴单元数量以及对钉的时间轴单元的参与计量(包括点击率、转换速率、评论、分享、赞以及加签)。在一种实施方式中,这些性能计量用于展现自动钉到用户资料页面上的包括图谱内容项的更多相关内容项。
[0145]图谱内容项评分模块610生成可潜在显示给观看用户的候选内容项的排列分数。排列分数模型包括全局因素、用户指定因素以及推荐分数。在一种实施方式中,排列分数模型是线性加权函数,其中,每种因素是一个权重。在另一实施方式中,排列分数模型是具有使用机器学习模块600优化的各个因子系数和指数的指数函数。在又一实施方式中,排列分数模型包括对数函数。例如,社交网络系统上具有很多个连接的用户可能已公布具有来自其他用户的印象和评论很多的图谱内容项。尽管图谱内容项的受欢迎性可能是影响其排列分数的优良因素,然而,由于用户生成内容项的很多个连接,所以图谱内容项的受欢迎性可能与其实际受欢迎性不符或者不成比例。为解释很多个连接,对数函数可能比本实施例中的线性函数或者指数函数更合适。此外,一些用户可能“过度分享”或者频繁将内容项公布到社交网络系统。在一种实施方式中,对数函数可用于限制来自过度分享用户的推荐内容项。
[0146]因此,图谱内容项排列模块150可用于排列从外部系统中的图谱对象和图谱动作汇编的内容项,诸如收听歌曲、观看电影、播放棋盘游戏、以及进行锻炼。由于社交网络系统130中定义的结构化图谱对象和图谱动作,基于可分析和观察的行为模式,社交网络系统130中的其他模块可使用排列模块150生成歌曲、电影、流派以及其他概念的推荐。此外,外部交互可被无缝地集成到社交网络系统130中以为用户提供更多有益的用户体验,从而使诸如收听音乐等现实世界的活动对于各个用户个人化。
[0147]社交网络系统上的社交音乐应用程序实例
[0148]图7示出了根据本发明的实施方式的将图谱对象和图谱动作整合到社交网络系统中的社交网络系统上的用户界面的实施例。在一种实施方式中,图谱对象和图谱动作被定义为如图3A定义的歌曲对象、艺人对象、收听动作、以及其他对象。音乐面板700是社交网络系统130中能够使用户与托管在外部系统120中的图谱动作和图谱对象交互的用户界面。音乐面板700包括若干个模块,其中包括排行榜模块700、音乐跟踪模块704、正在播放模块706、播放列表模块708、收听历史模块710、以及推荐模块712。在一种实施方式中,音乐面板700可用作社交网络系统130中用户资料页面上的选项卡。在另一实施方式中,音乐面板700可出现在移动设备的本机操作系统上运行的移动应用程序上。在又一实施方式中,音乐面板700可嵌入到托管在外部系统120的网站上。
[0149]在一种实施方式中,排行榜模块700显示由社交网络系统130中的用户生成的排行榜歌曲。在一种实施方式中,由对社交网络系统130中可用的对全球信息的用户指定查询可生成排行榜歌曲。在另一实施方式中,排行榜模块700显示由连接到观看用户的用户生成的排行榜歌曲。在又一实施方式中,排行榜模块700显示预定时间段内的最常收听列表,诸如上个月、上一周、昨天以及上一小时。图7示出了显示三个可选择链接:“BritneySpears Hits,,、“Lady Gaga Station” 以及 “Workout Mix” 的排行榜模块 700。在一种实施方式中,当选中时,链接触发对提供该音乐的外部系统120的请求,以播放与该链接相关联的列表。在另一实施方式中,选择该链接致使在与该列表相关联的社交网络系统130中打开一单独的页面。可对由被定义为图谱对象的列表对象表示的列表进行评论、分享、赞许以及加签。在一种实施方式中,社交网络系统130中的用户可创建该列表,诸如列表716 “Workout Mix”,或者在另一实施方式中,第三方开发人员可创建该列表。
[0150]由于该用户收听该歌曲,所以音乐跟踪模块704显示由其他用户发现的歌曲。图谱集成模块160跟踪社交网络系统130中显示的图谱内容项上用户的转换率和点击量。图7 不出 了显不三个内容项:“Joe 收听 Bon Jov1-You Give Love A Bad Name”、“Mike 收听La Roux-Bulletproof ” 以及 “Charlie 收听 Britney Spears-Till The World Ends” 的音乐跟踪模块704的实施例。在一种实施方式中,音乐跟踪模块704能够使观看用户经由社交网络系统130选择歌曲,以开始播放从外部系统120选择的歌曲。在一种实施方式中,在音乐跟踪模块704中选择与跟踪用户相关联的链接714可使观看用户直接登录到跟踪用户的用户资料页面。在另一实施方式中,选择与跟踪用户相关联的链接714直接使观看用户登录到社交网络系统130中包括跟踪用户经由与音乐面板700相关联的用户收听的歌曲的页面。
[0151]同样,正在播放模块706显示当前正在播放的歌曲和用户收听过的列表。观看用户可选择收听正在播放的歌曲(“Britney Spears-Till The World Ends”)、正在播放的列表(“Britney Spears Hits”),或者观看用户可通过选择链接718 ( “与Bob —起听!,,)而与和音乐面板700相关联的用户协作选择。通过选择链接718,观看用户将收听Bob实时收听的歌曲。这能够使用户经由社交网络系统130协作收听外部系统上的流音乐。协作收听动作链接718可包括在社交网络系统130的其他应用程序和界面中,诸如发消息应用程序、聊天界面、照片应用程序、组界面等。
[0152]播放列表模块708能够使观看用户选择社交网络系统130中另一用户收听并且创建的播放列表。在一种实施方式中,用户可通过简单输入歌曲名称或者选择专辑上的曲目来选择性地创建社交网络系统130中的播放列表。从对应于输入歌曲或者专辑上的所选择曲目的可用外部系统120以不同的流可在线广播音乐,从而将音乐来源混合到用户生成的播放列表图谱对象中。在另一实施方式中,用户可从外部系统120将播放列表输入到社交网络系统130中。在又一实施方式中,基于用户在外部系统120中的收听行为,播放列表被自动输入到社交网络系统130中。在图7中,播放列表模块708显示三个播放列表:“GleeCast Radio”、“Chi 11 out Mix” 以及“Journey,s Greatest Hits”。外部系统 120 可生成无线电台播放列表,诸如基于艺人或者歌曲生成播放列表的因特网无线电台网站。例如,陆地无线电台包括AM和FM无线电台,且可使社交网络系统130中的用户经由网站使用其播放列表。社交网络系统130中的某个用户可创建“Chill out Mix”播放列表并且与音乐面板700相关联的用户可将“Chill out Mix”播放列表添加到播放列表模块708中。在一种实施方式中,诸如由多于一个的用户所拥有的“Chill out Mix”等的用户生成播放列表能够使用户经由社交网络系统130协作地修改播放列表。由诸如Billboard或者宣传艺人的唱片公司等的外部系统120上的第三方开发人员可生成“Journey’s Greatest Hits”播放列表。在一种实施方式中,观看用户选择链接720来将播放列表建议给与音乐面板700相关联的用户。建议的播放列表可包括观看用户已生成的播放列表或者由第三方开发人员使用外部系统生成的播放列表。如上所述,播放列表模块708能够使社交网络系统130记录并且使用排列评分算法、启发式分析以及机器学习理解其用户的收听喜好。因此,在增强用户体验的同时,还提供以做广告为目标、发帖相关内容项等的有关用户的各种信息。
[0153]在本实施例中,收听历史模块710可包括与音乐面板700相关联的用户“Bob”的最近收听以及社交网络系统130中Bob的朋友的最近收听。在另一实施方式中,托管在外部系统120中的音乐视频可被集成到收听历史模块710中。如图7所示,针对社交网络系统130中的用户和用户连接列出了外部系统120中对歌曲对象的可选择链接。此外,在一种实施方式中,还以使观看用户登录用户连接的音乐面板的可选择链接表示用户连接,或者在另一实施方式中,以使观看用户登录用户连接的资料页面的可选择链接表示用户连接。在一种实施方式中,基于观看用户的喜好和观看用户到用户连接的邻近程度,图谱内容项排列模块150可用于通过与观看用户更相关的用户连接(connection,联系人)来显示最近收听。在另一实施方式中,用户和用户连接(connection,联系人)的最近收听被显示在收听历史模块710中。
[0154]推荐模块712基于从与观看用户相关联的用户资料对象获得的喜好,使用图谱内容项排列模块150对观看用户生成推荐。在本实施例中,推荐模块712提供用于显示给观看用户的三首歌曲:“Lady Gaga-Born This Way”、“Madonna_Vogue” 以及“Ke$ha_Blow”。与音乐面板700相关联的用户可能没有收听过在推荐模块712中显示的歌曲。相反,图谱内容项排列模块150基于下列多种因素来选择被显示给观看用户的歌曲,其中包括观看用户点击歌曲对象和艺人对象的链接的过去历史记录、观看用户的喜好、或者社交网络系统130中观看用户资料页面上所陈述的兴趣、以及与歌曲对象和艺人对象相关联的信息。例如,观看用户在社交网络系统130中可具有收听歌曲“Lady Gaga-Born This Way”的数个连接。因此,图谱内容项排列模块150针对观看用户可分配该歌曲对象的高排列分数。又例如,观看用户最近可能收听过包含“Madonna-Vogue”的专辑上的许多歌曲,但没有收听过该歌曲,因此可以推荐该歌曲,因为可以推断观看用户可能希望收听完整的专辑。在又一实施例中,观看用户可能没有收听过艺人“Ke$ha”,但是“Ke$ha”可能与观看用户最近收听的其他艺人非常相似。基于有关“Ke$ha”艺人对象的元数据,诸如“流行音乐”和“舞曲”流派对象,可将歌曲“Ke$ha-BloW”推荐给观看用户。
[0155]用于公布到社交图谱上的附加外部用户交互
[0156]通过使用本公开中描述的用于公布到社交图谱上的结构化对象和动作,可捕获在外部系统(包括网站、移动应用程序、企业系统以及云服务)上执行的其他动作。在一种实施方式中,电子商务网站上的用户购买礼物可触发对可以与社交网络系统100中其他用户分享的对象的动作。在一种实施方式中,位置事件或者“签到”至在装备有全球定位系统(GPS)的移动设备上操作的基于位置的应用程序上的地点可在社交图谱中生成动作和对象。经由企业系统实时上传的体育赛事分数还可生成有关通过API调用向社交网络系统100生成的结构化动作和对象的新闻故事。这些外部用户交互还可被集成到社交网络用户体验中。
[0157]例如,在其连接到社交网络系统130的移动设备的API上阅读一本书的移动用户可被动地与社交网络系统130中的其他用户分享她正在阅读“Memoirs of a Geisha”。在一种实施方式中,该书可被识别为书籍类型对象,并且其ISBN将是书籍对象的属性。在一种实施方式中,“Memoirs of a Geisha”的书籍对象和其作者“Arthur Golden”的作者对象可与“阅读”动作相关联,并且根据由第三方开发人员或者社交网络系统的管理员定义的结构将其他对象关联起来。可替代地,在另一实施方式中,书籍对象可被识别为书籍类型对象、产品类型对象和/或娱乐类型对象。
[0158]又例如,电影租赁网站列出多个电影并且维持各个电影的独立网页,以鼓励用户提交其对观看过的电影的评论。用于访问网页的链接可与不同电影相关联,从而使得通过不同的窗口小部件124生成各个帧,以将与不同电影相关联的不同网页的URL或者网络标识符传送给社交网络系统130。帧可记录多于一个的动作,诸如用户表示感兴趣希望观看与社交网络系统130中的对象相关联的特定电影、用户表示其观看过与社交网络系统130中的对象相关联的特定电影、以及用户评论与社交网络系统130中的对象相关联的特定电影。希望看电影、已看过电影以及评论电影的每个这些动作均可与社交网络系统130中存储和维持的单独的图谱动作类型相关联。同样,包括电影、演员、导演、制片人、设置、目录等的对象均可与社交网络系统130中存储的图谱对象类型相关联。
[0159]又例如,社交网络系统130中的用户还可以查找餐馆来举办生日晚宴活动。餐馆预订网站显示开放式预订世界各地城市中的餐馆。例如,网站上显示的每个开放式预订可包括来自社交网络系统130中表示用户朋友的推荐和对餐馆评论的个人化内容。如果用户使用餐馆预订网站预订餐馆,假定该预订网站连接到社交网络系统130并且接收许可与社交网络系统130分享信息,则可被动生成在该餐馆举办生日派对的动作。在一种实施方式中,预订网站开发人员在检索社交网络系统130中创建的用户事件的API调用时可查询用户事件。例如,使用这种解决方法,餐馆预订网站可基于日期和地理位置来过滤已检索事件。可进行更为精密的用户指定查询来搜索在预订网站上请求的与社交网络系统130中用户的用户资料对象相关联的事件日期之中的预订日期。假定已认证适当的许可,则预订网站可记录也与社交网络系统130中已创建的事件对象相关联的“举办” “生日派对”对象类型的动作类型。以此方式,由第三方开发人员生成的图谱动作和图谱对象可与社交网络系统130中本地的动作和对象无缝组合。
[0160]总结
[0161]出于说明之目的呈现了对本发明的实施方式的上述描述,然而,其并不旨在穷尽或者将本发明局限于所公开的精确形式。相关领域技术人员能够认识到根据上述公开,许多变形和改造是可行的。
[0162]本描述的一些部分在有关信息操作的算法和符号表示方面描述了本发明的实施方式。数据处理领域技术人员通常使用上述算法描述和表示将其工作实质传达给本领域其他技术人员。然而,从功能、计算或者逻辑上描述的这些操作被理解为由计算机程序或者等效电路、微码等实施。而且,也已证明有时便于参考作为模块的操作布置,而不丢失一般性。所描述的操作及其相关模块可被嵌入到软件、固件、硬件或者其任何组合中。
[0163]单独或者结合其他设备使用一个或者多个硬件或者软件模块可执行或者实施本公开中所描述的任一步骤、操作或者过程。在一种实施方式中,软件模块实施为包括含计算机程序代码的计算机可读介质的计算机程序产品,能够由计算机处理器执行计算机程序产品以执行所述的任一或者所有步骤、操作或者过程。
[0164]本发明的实施方式还可与用于执行本公开中的操作的装置有关。出于需要之目的,可特别构造该装置和/或该装置可包括由存储在计算机中的计算机程序选择性激活或者重新配置的通用计算设备。该计算机程序可存储在非易失性、有形的计算机可读存储介质或者适用于存储电子指令、可耦接到计算机系统总线的任何类型介质中。而且,本说明书中提及的任何计算系统可包括单一处理器或者可以是采用多处理器设计的结构,以提高计算能力。
[0165]本发明的实施方式还可与由本公开中所描述的计算过程生成的产品有关。该产品可包括由计算过程生成的信息,其中,信息存储在非易失性、有形的计算机可读存储介质中并且可包括计算机程序产品或者本公开中所描述的其他数据组合的任一实施方式。
[0166]最后,主要出于可读性和指导性之目的选择本说明书中使用的语言,并且选择上述语言并不是为了描述或者限制本发明的主题。因此,其旨在使本发明的范围不受细节描述限制,更确切地,是受在其基础上阐述申请的任何权利要求限制。因此,所公开的本发明的实施方式旨在进行例证,而非限制所附权利要求中所规定的本发明范围。
【权利要求】
1.一种方法,包括: 在社交网络系统处存储社交图谱,所述社交图谱包括多个图谱对象和多个图谱动作,每个图谱动作均具有动作类型并且表示两个或者更多个图谱对象之间的关系; 从所述社交网络系统外部的实体接收用于捕获用户的交互的新动作类型的定义; 响应于所接收的定义,限定由所述社交网络系统用于捕获用户与图谱对象的交互的所述新动作类型;以及 响应于接收对所述社交网络系统的用户已执行与图谱对象连接的具有所述新动作类型的图谱动作的指示,记录与所述社交图谱中的所述图谱对象相关联的所述图谱动作。
2.根据权利要求1所述的方法,其中,所述社交网络系统的所述用户已执行与在所述社交网络系统之外的外部系统上的图谱对象连接的具有所述新动作类型的所述图谱动作。
3.根据权利要求1所述的方法,进一步包括: 从所述社交网络系统外部的所述实体接收用于捕获用户的交互的新对象类型的定义;以及 响应于所接收的所述新对象类型的定义,限定由所述社交网络系统用于捕获用户与所述新对象类型的图谱 对象的交互的所述新对象类型; 其中,所述社交网络系统的所述用户已执行与具有所述新对象类型的所述图谱对象连接的具有所述新动作类型的所述图谱动作。
4.根据权利要求2所述的方法,进一步包括: 访问来自所述外部系统的信息以记录与所述社交网络系统中的所述用户相关联的所述图谱对象和所述图谱动作,所述外部系统提供所述信息,所述信息包括根据由所述外部系统上的嵌入式窗口小部件生成的动作日志中的对应对象类型和对应动作类型来参数化的所述图谱对象和所述图谱动作; 从所访问的信息中提取所述图谱对象和所述图谱动作;以及 将与所述用户相关联的所述图谱对象和所述图谱动作存储在所述社交网络系统的所述社交图谱中。
5.根据权利要求1所述的方法,进一步包括: 将与所述图谱对象连接的由所述用户执行的具有所述新图谱动作类型的所述图谱动作传送给所述社交网络系统中所述用户已与之建立连接的一个或者多个其他用户。
6.根据权利要求1所述的方法,其中,接收对所述社交网络系统的用户已执行与图谱对象连接的具有所述新动作类型的图谱动作的指示进一步包括: 从外部系统接收应用程序编程接口(API)调用,所述应用程序编程接口调用包括与所述社交网络系统的所述图谱对象和所述用户相关联的所述图谱动作;以及 从所述应用程序编程接口调用提取与所述图谱对象连接的具有所述新动作类型的所述图谱动作以用于记录在所述社交网络系统处的所述社交图谱中。
7.根据权利要求3所述的方法,其中,所述新对象类型的所述定义包括具有其他对象类型的属性。
8.根据权利要求7所述的方法,其中,所述用户对与所述新对象类型相关联的所述图谱对象执行所述新动作类型的所述图谱动作,且对所述其他对象类型的图谱对象执行所述图谱动作。
9.根据权利要求1所述的方法,其中,所述图谱对象表示所述社交网络系统中的不同用户。
10.根据权利要求9所述的方法,其中,所述新动作类型包括所述用户与所述不同用户执行所述图谱动作。
11.根据权利要求1所述的方法,其中,所述图谱对象表示位置。
12.根据权利要求11所述的方法,其中,所述新动作类型包括确认所述用户将来出现在所述位置。
13.根据权利要求4所述的方法,其中,访问来自所述外部系统的所述信息包括: 获得所述外部系统的网页的标记语言文档;以及 识别所述标记语言文档中的一个或者多个标签,所述标签包含所访问的信息。
14.根据权利要求1所述的方法,其中,从所述社交网络系统外部的实体接收用于捕获用户的交互的新动作类型的定义进一步包括: 接收能够通过所述新动作类型执行的对象类型;以及 将与所述对象类型的关联性存储在所述新动作类型的所述定义中。
15.根据权利要求3所述的方法,其中,从所述社交网络系统外部的所述实体接收用于捕获用户的交互的新对象类型的定义进一步包括: 接收所述新对象类型的汇集属性,由所述社交网络系统外部的所述实体定义所述汇集属性以通过所述汇集属性对所述新对象类型的图谱对象进行分组;以及 响应于所接收的所述新对象类型的汇集属性,通过所接收的汇集属性对具有所述新对象类型的图谱对象进行分组。
16.根据权利要求4所述的方法,进一步包括: 从所述外部系统上的所述嵌入式窗口小部件中接收对有关所述用户的个人化信息的请求,所述个人化信息与记录在存储在所述社交网络系统上的所述社交图谱中的图谱动作和图谱对象有关;以及 响应于所述请求,在所述外部系统上的所述嵌入式窗口小部件内提供有关所述用户的所述个人化信息。
17.根据权利要求16所述的方法,其中,响应于对具有所述新动作类型的图谱动作的自定义查询,提供所述个人化信息。
18.根据权利要求1所述的方法,进一步包括: 实现对具有所述新动作类型的所述图谱动作的查询的规定,所述查询过滤具有所述社交图谱中记录的所述新动作类型的图谱动作; 提供模板以用于可视化所述查询的结果,所述模板公布在所述社交网络系统上的时间轴单元;以及 使用所提供的用于可视化所述查询的所述结果的模板将描述所述查询的所述结果的所述时间轴单元传送给所述社交网络系统的用户。
19.一种方法,包括: 从外部系统请求用于在用户设备上呈现的内容,其中,所述外部系统将所述内容托管在独立于社交网络系统的域上; 接收所请求的内容和包括第一指令以利用所述社交网络系统对所述用户设备进行认证的可执行的窗口小部件; 在所述用户设备上呈现所请求的内容,其中,所述用户设备能够使用户与所述外部系统上的所请求的内容交互; 在所述用户设备上执行所述窗口小部件,所述窗口小部件包括第二指令以响应于检测到用户的交互而将所述用户的交互记录在所请求的内容中;从所述社交网络系统接收对所述用户的认证,所述认证包括所述用户的用户标识符;在所述用户设备上检测所述用户与所请求的内容的交互,所述用户的交互包括对图谱对象执行的图谱动作,所述图谱动作具有动作类型并且所述图谱对象具有对象类型,由所述社交网络系统外部的实体定义所述动作类型和所述对象类型,所请求的内容与对所述图谱对象执行的所述图谱动作相关联;以及 将所述用户的交互记录为条目,所述条目包括对应于所述对象类型的所述图谱对象、对应于所述动作类型的所述图谱动作、在所述外部系统上执行所述用户的交互的所述用户的所述用户标识符以及与所述图谱动作和所述图谱对象有关的上下文信息。
20.根据权利要求19所述的方法,其中,接收所请求的内容进一步包括: 接收所请求的内容的标记语言文档,所述标记语言文档包括第三指令以在包括来自所述社交网络系统的个人化信息的所请求的内容的网页内创建帧;以及 基于在所述标记语言文档内执行所述第三指令,从所述社交网络系统接收个人化信肩、O
21.根据权利要求19所述的方法,其中,所请求的内容包括对应于所述用户的交互的可选链接,所述用户的交互表示对所述对象类型执行的所述动作类型。
22.根据权利要求19所述的方法,其中,所请求的内容能够使用户执行表示不同动作类型和对象类型的多个用户的交互。
23.根据权利要求19所述的方法,进一步包括: 将所述条目传送给所述社交网络系统。
24.根据权利要求20所述的方法,其中,所述帧包括内嵌框架,所述内嵌框架包含所述社交网络系统的所述域内的网页。
25.根据权利要求24所述的方法,其中,所述内嵌框架包括与直接来自所述社交网络系统的所述域内的所述用户有关的所述个人化信息。
26.根据权利要求20所述的方法,其中,从所述社交网络系统接收个人化信息进一步包括: 从所述社交网络系统接收有关一个或者多个其他用户的信息,所述一个或者多个其他用户已经与所述外部系统交互并且所述用户与所述一个或者多个其他用户已经在所述社交网络系统内建立连接;以及 在所述网页中显示有关所述其他用户与所述外部系统的交互的所述信息。
27.根据权利要求19所述的方法,其中,将所述用户的交互记录为条目进一步包括: 在存储在所述用户设备上的动作日志中生成所述条目。
28.一种用于响应于结构化查询来提供社交网络系统外部的动作的方法,所述方法包括: 基于应用程序编程接口(API)调用在所述社交网络系统的服务器处接收对外部动作的查询,所述查询包括指定至少一种对象类型、至少一种动作类型以及至少一个用户标识符的参数; 确定所述查询的结果,所述结果包括由所述社交网络系统的用户对对象执行的动作;以及发送所述结果以显示在由标记语言文档中的指令生成的帧内,所述指令包括所述查询。
29.根据权利要求28所述的方法,其中,所述帧包括内嵌框架,所述内嵌框架包含所述社交网络系统的所述域内的网页。
30.根据权利要求29所述的方法,其中,所述内嵌框架包括用于选择其他查询的用户界面,所述方法进一步包括: 接收所述用户界面内的对链接的选择,所述链接与具有不同参数的第二查询相关联; 确定所述第二查询的结果;以及 发送所述第二查询的所述结果以显示在所述帧内。
31.根据权利要求28所述的方法,进一步包括: 提供所述帧以显示在对应于所述社交网络系统的用户的用户设备上,所述帧包括由一个或者多个其他用户进 行分组的所述结果,已由所述社交网络系统捕获所述一个或者多个其他用户的外部动作并且所述用户与所述一个或者多个其他用户已经在所述社交网络系统内建立连接。
32.根据权利要求28所述的方法,进一步包括: 提供所述帧以显示在所述社交网络系统外部的系统上,所述帧包括由所述社交网络系统的一个或者多个用户进行分组的所述结果,已由所述社交网络系统捕获所述一个或者多个用户的外部动作。
33.根据权利要求28所述的方法,其中,所述查询包括分类参数,所述方法进一步包括: 通过所述分类参数确定所述查询的所述结果的排列;以及 提供所述结果以通过所述排列显示在所述帧中。
34.根据权利要求28所述的方法,其中,所述查询包括分组参数和分组函数,所述方法进一步包括: 通过所述分组参数和所述分组函数确定所述查询的所述结果的汇集值;以及 提供所述结果的所述汇集值以显示在所述帧中。
【文档编号】G06Q99/00GK103946886SQ201280057066
【公开日】2014年7月23日 申请日期:2012年8月30日 优先权日:2011年9月21日
【发明者】弗拉迪米尔·费奥多罗夫, 奈蒂克·萨赫, 爱德华·肯尼思·奥内尔, 拉斯·艾尔斯特鲁普·拉斯马森, 保罗·塔尔扬, 迈克尔·史蒂文·韦尔纳尔, 卡尔·菲利普·肖格伦 申请人:脸谱公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1