非结构化的用户可编辑内容存储库中结构化内容的存储和取回的制作方法

文档序号:11288624阅读:230来源:国知局
非结构化的用户可编辑内容存储库中结构化内容的存储和取回的制造方法与工艺



背景技术:

“结构化数据”是指根据预先定义的数据模型组织的信息。结构化数据经常存储在诸如关系数据库的数据库中。尽管许多网站是从结构化数据动态生成的,但是当这些数据被格式化为html时,数据变为非结构化的。此外,用户经常希望将从互联网网站或其它源复制的内容保存到“记事本”应用(例如,microsoft)中。在复制内容的过程中,内容的语义结构中的很多可能会丢失。



技术实现要素:

公开了用于使得结构化数据能够以保持使用诸如记事本应用的内容应用来编辑视觉内容的能力的方式与视觉内容相关联的系统和技术。技术和系统使得能够将语义符号引入到指示视觉内容的结构化数据的视觉内容的所选择的区域中,允许通过常见的搜索技术和搜索引擎更容易地对内容进行搜索和访问,以及允许将查询、结合、以及其它熟悉的数据管理技术应用于以前非结构化的内容。

此外,将语义符号分配给视觉内容,以使得语义符号的引入不妨碍用户利用内容应用来查看或编辑视觉内容。有利地,包含语义符号不会导致不理解语义符号的现有视觉编辑工具停止恰当地运行。

提供本发明内容以便以简化的形式来引入在下面的具体实施方式中进一步描述的概念的选择。本发明内容并非旨在识别所要求保护的主题的关键特征或必要特征,也并非旨在用于限制所要求保护的主题的范围。

附图说明

图1示出了其中可以执行用于结构化内容存储和取回的系统和技术的某些实现方式的示例操作环境。

图2a示出了用于结构化数据存储和取回的示例处理流程。

图2b示出了视觉内容和视觉内容内的内容容器的表示的示例。

图2c-2d示出了存储标记语言的示例。

图3a示出了用于接收和处理对内容存储库中的视觉内容进行更新的请求的示例处理流程。

图3b-3c示出了用户对视觉内容进行的任意编辑以及内容存储库中的对应结果的具体示例。

图4示出了用于实现结构化数据api的示例处理流程。

图5示出了示例说明在所描述的内容存储服务的一些实现方式中使用的计算设备或系统的组件的框图。

图6示出了其中可以执行用于结构化内容存储和取回的技术的实现方式的示例系统架构。

具体实施方式

公开了用于使得结构化数据能够以保持使用诸如记事本应用的内容应用来编辑视觉内容的能力的方式与视觉内容相关联的系统和技术。

所公开的技术和系统提供了产生若干技术益处的技术特征。某些技术和系统使得能够将语义符号引入到指示视觉内容的结构化数据的视觉内容的所选择的区域中。将结构化数据增加到视觉内容允许通过常见的搜索技术和搜索引擎更容易地对内容进行搜索和访问,以及允许将查询、结合、以及其它熟悉的数据管理技术应用于以前非结构化的内容。

此外,将语义符号分配给视觉内容,以使得语义符号的引入不妨碍用户利用内容应用来查看或编辑视觉内容。有利地,包含语义符号不会导致不理解语义符号的现有视觉编辑工具停止恰当地运行。因此,技术和系统能够将现有的内容存储库变换为具有可延展的视觉内容和结构化数据方面的混合的内容存储库,而不需要对现有软件中的查看和编辑机制进行修正。

涉及网站上的烹饪食谱的示例场景可以是说明性的。在这里,用户希望通过将食谱存储在记事本应用(例如,microsoft)中来保存食谱供稍后使用。用户使用光标或网络剪切板(webclipper)从网页中选择视觉内容(例如,文本和照片)、复制视觉内容、并将视觉内容粘贴或保存到记事本应用中。在一些情况下,当内容被粘贴到记事本应用中时,内容中包含的任何语义结构将丢失;所有可以保留的是文本的视觉格式化。

然而,使用本文描述的技术和系统,可以保持、修改、和/或增强所复制的内容的语义结构。例如,在典型的食谱中,信息被组织为“原料”和“步骤”。使用所描述的技术和系统,原料和步骤可以接收不可见的注释,其将单独的原料和步骤指示为结构化数据元素。稍后对食谱(或其它内容)进行编辑将保持结构化数据,因为语义符号不会中断、扰乱由用户执行的视觉编辑过程,或以其它方式对其可见。然后,在存在语义符号的情况下,能够以附加的方式来使用和操纵内容。例如,原料和量的列表能够通过购物清单应用取回,购物清单应用将针对一周的食谱来计算在每周的购物之旅期间要购买的原料的类型和量。

某些实现方式包括内容存储服务,其能够接收视觉内容、确定与视觉内容相关的结构化数据、以及将指示结构化数据的语义符号关联到视觉内容。一些实现方式包括应用编程接口,其用于增强对内容存储库中的结构化数据的访问。

图1示出了其中可以执行用于结构化内容存储和取回的系统和技术的某些实现方式的示例操作环境。在图1中,内容存储服务100能够实现用于将语义符号应用于内容存储库以及从内容存储库中取回结构化数据的技术,如关于图2a、图3a、以及图4中的处理流程所描述的。

在一些情况下,内容经由客户端110进入内容存储服务100。客户端110可以包括允许查看、存储、编辑、或创作视觉内容的内容应用111。示例内容应用111是协助用户存储从各种源创建和采集的内容的记事本应用。记事本应用的示例包括microsoft

在一些实现方式中,内容应用111将内容存储在与用户相关联的云服务储存库中的一个或多个内容存储库中。内容存储服务100可以是云服务的组件。在一些情况下,内容存储库可以本地存储在客户端110上。如果内容存储库对于客户端是本地的,则内容存储服务100可以被本地化在客户端上。此外,内容存储库可以主要存储在云中,但是在客户端110上具有内容存储库的本地副本以用于离线可访问性;各种过程可以同步云副本和本地副本。

一些内容应用能够对多种类型的视觉内容起作用。如本文所使用的“视觉内容”是指:例如,可以在内容应用内显示的文本、图像、嵌入式二进制文件、多媒体文件、附接的文档、以及手写墨迹笔划。视觉内容能够包括描述各种单独的内容项及其与彼此的关系的格式化、样式、布局、以及其它可见的呈现方面。有时,视觉内容是使用体现信息(例如,文本情况下的“单词”)以及控制信息如何被显示(例如,文本中的单词是粗体、12号timesnewroman字体)二者的格式化语言来描述的。然后,内容应用以格式化语言描述的方式将显示器上的内容显现给用户。格式化语言的示例是超文本标记语言(html)和富文本格式化(rtf)语言。

有时,视觉内容是作为从另一内容源被复制/粘贴、剪切、或以其它方式记录的结果而进入内容应用的内容段。例如,用户可能希望复制正在浏览器中显示的网页的视觉内容的区域,例如,当用户希望将烹饪食谱复制/粘贴或网络剪切到记事本应用中供稍后使用时。当从网页“剪切”内容的选择时,接收所剪切的内容的目的内容应用确定是仅使用信息(原始文本和/或图像)还是信息加格式化描述。

有时,可能如果目的内容应用本机地使用html,则目的内容应用可以按原样将html粘贴到显现应用中。在其它情况下,目的内容应用尝试尽可能忠实于初始显现地显示内容,但是相反在显现之前将视觉内容的格式化语言命令转换为不同类型的格式化语言。在另外的其它情况下,仅信息方面(即,没有进行格式化的普通可见文本)被目的内容应用捕获和/或显现。

剪切板112可以在客户端110处可用。剪切板112是本地运行的应用,其能够用于针对用户收集和捕获内容。通过剪切板112,用户能够选择剪切整个页面,提取整个页面的部分、页面的一个或多个区域和/或页面上的已识别对象,例如,图像。作为一些示例,剪切板112可以是网络剪切板、在操作系统上运行的剪切工具、具有剪切特征或内容应用的特征的应用。剪切板112可以与内容的目的应用直接相关联,或者可以不与内容的目的应用直接相关联。

网络剪切板典型地从网站剪切内容,并将内容插入到内容应用111(例如,记事本应用)或剪切板关联到的其它应用中。网络剪切板一般在客户端110处的网络浏览器上运行。作为示例,网络剪切板可以以javascript来实现,并且能够与网络浏览器互操作(并且在一些情况下与其集成)。因为每个网络浏览器具有不同的能力,所以可以基于网络浏览器来配置网络剪切板。在一些情况下,剪切板112作为网络浏览器的增加件、插件、或书签工具被包括,以剪切在网络浏览器中显现的内容。在一些情况下,剪切板作为操作系统(未示出)的特征被包括,以捕获正在显示器上显现的任何内容(类似于截屏功能)。在一些情况下,剪切板能够作为内容应用111的网络功能或增加件被包括。

能够通过剪切板112将内容发送到用户的记事本或其它内容应用111。内容应用可以与内容存储服务100进行通信以存储内容115,并且内容存储服务100可以制定用于与内容相关联的结构化数据的语义符号。

“内容存储库”是指包含视觉内容、格式化指令、以及其它语义或结构化数据元素中的任何或全部的存储结构。例如,内容存储库可以是文件(例如,html文件或文字处理文件)、包含多个内容存储库的文件内的逻辑划分、和/或存储在关系数据库管理系统中的一组数据库记录。

内容存储库能够包括以图形结构布置的一个或多个“内容容器”。在内容存储库的上下文中,图形结构是指允许一些容器或元素嵌套在更高级别容器或元素内的分层(或“树形”)布置。因此,以图形结构布置的内容存储库包含分层地布置的一个或多个内容容器。例如,在html中,内容容器可以通过匹配开放和关闭标签对来进行表示,例如,“<div></div>”标签对。当“<div>”标签对包围其它标签对时,“<div>”标签对是由其包围的任何标签对的父亲容器。

内容容器能够具有信息方面、格式化方面、以及结构化数据方面中的任何、全部,或者不具有其中的任一个。内容容器的信息方面和格式化方面包括在内容容器的视觉方面中,并且是正常被认为是“视觉内容”的方面中的一部分,因为这些方面对于用户是可见的。例如,在html中,内容容器可能具有元素“<b>蛋糕食谱</b>”。该内容容器包括信息方面(“蛋糕食谱”)和格式化方面(“<b>”和“</b>”标签围绕信息的结果),其表示在查看时单词“蛋糕食谱”应当以粗体字来显示。如所指出的,内容容器可以分层地布置,如当内容容器“面粉”和“糖”是描述蛋糕食谱中的原料的列表的父亲内容容器“原料”的孩子容器时。因此,内容容器与其它内容容器的关系还能够经由格式化元素进行表达,并反映在格式化方面中。

内容容器还能够缺少信息方面和/或缺少格式化方面。例如,如果“<ul>”标签(无序列表html元素)在其中嵌套由“<li>”标签指示的原料的项目符号列表(bulletedlist),则“<ul>”标签缺少信息方面,但是具有表达列表项彼此之间的关系的格式化方面。一些内容容器能够完全缺少视觉方面,绝大多数用于将其它内容容器分组在一起,可能用于将结构化数据分配给若干其它内容容器。例如,由“<div>”元素表示的内容容器能够表达关于<div>块内的孩子内容容器中的全部的性质,但是否则不表达任何视觉方面。

有时,内容存储服务100创建新的内容存储库作为对于存储内容115的请求的一部分,例如,当要存储的内容是记事本应用中的新条目或文档的一部分时。有时,内容120可以增加到或修改现有的内容存储库。

对内容进行变换的示例在图1所示的虚线圆形分区内部进行描绘。所描绘的是具有若干内容容器121的视觉内容120的选择。示例是“蛋糕食谱”(较早描述的),其具有原料、步骤、以及照片,并且是从网页上剪切的。内容存储服务100能够将可见内容的选择变换为具有结构化数据125的内容。内容存储服务100通过将非视觉语义符号126(例如,并非旨在在显示器上可见地显现的标识符、标签、元素、属性、性质、或描述符)分配给一个或多个内容容器来将可见内容120变换为具有结构化数据125的内容。关于图2b描述了非视觉语义符号的示例。

由内容存储服务100存储和变换的内容可以由其它客户端类型进行访问和/或修改。客户端130表示具有内容应用131的客户端,内容应用131具有查看和编辑视觉内容的能力。内容应用131能够是浏览器、记事本、或生产力应用,包括在网络浏览器内部或移动设备或可穿戴设备上运行的应用。内容应用131可以具有各种能力(例如,查看、编辑),这取决于应用类型和应用正在其上运行的设备形状因子。有时,内容应用131是与如关于内容应用111所描述的、发起内容的剪切和存储的应用相同类型的应用,或者实际上是完全相同的应用。然而,有时,内容应用131可以是不同类型的内容应用、相同内容应用的不同版本(例如,较旧版本)、或者相同应用的不同设备变型,例如,移动设备版本(例如,app版本)。该环境的方面证明了不同地有能力且较旧的内容应用查看和编辑所存储的视觉内容同时内容存储服务100维护描述内容存储库中的结构化数据的非干扰语义符号的能力的优点。

内容应用131是能够查看和编辑内容存储库中的视觉内容同时保留对内容存储库中的结构化数据和语义符号不可知的应用的示例。内容应用131可以请求来自内容存储服务100的内容135,例如,当记事本应用请求查看存储了较早剪切的内容的记事本笔记或文档(即,内容存储库)时。内容存储服务100可以返回内容136。所返回的内容可以包括利用透明的语义符号(例如,如在元素125和126中示出的)进行变换的视觉内容。

内容应用131能够查看内容和/或进一步编辑内容,例如,通过增加新的视觉内容、移除视觉内容、或修改视觉内容的方面。然后可以向内容存储服务100做出对存储在内容存储库中的内容137进行更新的请求。如图3a所描述的,内容存储服务100可以修改内容存储库中的视觉内容。取决于对视觉内容所做的改变的类型,内容存储服务100可以移除视觉内容和相关联的语义符号、插入用于新的视觉内容的新的语义符号、或者改变内容容器的信息或格式化方面。

对视觉内容进行外观替代(例如,格式化)可以根本不影响语义符号。对视觉元素的信息内容的改变可以不影响语义符号。使用食谱示例,改正原料的拼错可以改变内容容器的信息方面,但是不改变其数据类型。此外,如果菜品的食谱包含原料“蒜辣椒酱”,则用户可能编辑食谱以指定辣椒酱的优选品牌名称。这样的编辑可能会改变内容容器的信息方面,但是不一定导致语义符号或结构化数据方面的改变。

图3a-3c中示出了包括内容应用131的实现方式的示例处理流程和相关示例。

由内容存储服务100存储和变换的内容可以由查看、使用、或改变与语义符号相关联的结构化数据的客户端进行访问。客户端140包括结构化数据应用141,其可以请求来自内容存储服务100的结构化数据145。在一些实现方式中,内容存储服务100暴露应用编程接口,其使得结构化数据应用141能够跨单个内容存储库或跨多个内容存储库来查询特定类型或值的结构化数据。然后内容存储服务100返回与匹配查询的结构化数据相关联的内容和/或结构化数据146。例如,结构化数据应用141能够联系内容存储服务100以针对包含“樱桃”的所保存的甜点来查询内容存储库中的用户的储存库。或者,结构化数据应用141可以使得用户能够创建合并要购买以用于一组所选择的食谱的原料的单个购物清单。关于图4更全面地描述了在用于结构化数据的应用编程接口中包括的技术。

应当注意,在图1中使内容应用111和131以及结构化数据应用141分隔到分隔的客户端上并非旨在是限制性的。单个内容应用可以具有由应用111、131、以及141指示的存储、编辑、查看、以及结构化数据能力中的任何或全部。另外,许多类型的内容应用和结构化数据应用能够驻留在单个客户端上。

图2a示出了用于结构化数据存储和取回的示例处理流程。在一些实现方式中,图2a中的处理流程可以由如图1所描述的内容存储服务100来执行。内容存储服务100可以从内容应用111接收存储视觉内容的指示(200),例如,关于图1所描述的。

如所指出的,内容容器能够以各种方式包围视觉内容。因此,响应于接收内容选择,内容存储服务100从适合于分配语义符号的视觉内容中确定一个或多个内容容器(201)。例如,如果项的列表指示食谱的原料,则可以以多种方式在内容容器的层级中增加表示作为原料的项的语义符号。在一种情况下,可以将指示结构化数据类型为“原料”的语义符号分配给父亲列表容器,以表示列表中的每个项是一种类型的原料中的一种。在另一种情况下,可以将指示结构化数据类型为“原料”的语义符号分配给单独的原料的内容容器中的每一个。

在一些情况下,内容存储服务100可以确定视觉内容中不存在适当的内容容器。在这些情况下,可以创建一个或多个内容容器并将其插入到视觉内容图形结构中的适当位置处,以接收语义符号的分配。

当适当的一个或多个内容容器已经被标识和/或创建时,内容存储服务100确定与视觉内容相关联的结构化数据(202)。取决于实现方式的本质和特定视觉内容的有区别的性质,确定与视觉内容相关的结构化数据可以以各种方式来执行。

在一些情况下,视觉内容包含由内容的创建者增加以指示内容的数据类型或属性的标记语言。例如,内容创建者(例如,网站开发者)可以将从“模式(schema)提供者”获得的数据类型信息(例如,“模式”)增加到网页,以便于使得对于搜索引擎而言内容更加可访问且可搜索。来自模式提供者的模式可以与“标记格式”一起使用,以利用结构化数据来加强视觉内容。模式提供者的示例是schema.org和googlerichsnippets。模式提供者共享模式的集合(共享的标记词汇表),其能够在利用标记格式来标记内容(例如,html页面)时使用。模式描述特定种类的内容的数据类型和属性信息。例如,模式可能指示某些内容是“电影”,以及电影具有某些性质,例如,“导演”、“标题”、以及“发行日期”。来自模式提供者的标准化模式被搜索服务识别,然后其能够以更加明确的方式来解释网页上的信息,使得搜索更加准确。

有时,模式是使用“标记格式”引入到以html描述的内容中的。标记格式的示例是微数据(microdata)、rdfa、以及json-ld。标记格式提供修改html以使得搜索引擎能够处理具有匹配到模式的内容的单独的网页的标准化方法。

例如,通过使用标识用于“<div>”元素范围内的内容的模式的“<div>”标签属性,微数据标记格式使用schema.org词汇表来描述内容。然后通过围绕内容的另外的属性来标识单独的内容的模式的性质的值。

使用schema.org词汇表来描述内容的微数据标记格式的示例如下面的表1所示:

表1:微数据的示例

在标记格式指示模式标识符被包括在内容中的情况下,内容存储服务100可以具有容易访问的数据类型的源,其能够用于确定视觉内容中包含的内容元素的类型。内容存储服务100可以使用现有的结构化数据标记来确定用于语义符号的某些结构化数据。能够使用诸如“微数据2rdf”服务或“节点-模式-org”库的工具以熟悉的方式从具有现有标记的视觉内容中提取数据类型信息,以用于以编程方式解析利用常见的模式标记的内容。在某些情况下,当内容存储服务将语义符号分配给视觉内容时,现有标记可以被移动、改变、和/或移除。

在一些实现方式中,内容存储服务100通过分析视觉内容来确定结构化数据。对视觉内容的分析可以发生于例如当网站运营方尚未提供指示模式信息的标记时。

在一些实现方式中使用的用于分析视觉内容的技术是通过对视觉内容与已知内容的模板的集合进行比较来标识用于视觉内容的可能模式。内容存储服务100可以存储已知内容的一个或多个这样的模板。例如,对包含食谱的视觉内容的剪切经常具有包含若干视觉内容分区的熟悉的视觉结构。这些分区包括食谱标题、原料的列表、以及有时被分隔为段落的步骤/动作的列表。在一些情况下,原料的列表和步骤的列表如这样地被具体标注。这些分区有助于标识视觉内容的类型,以使得模式信息能够被确定。

在一些实现方式中,内容存储服务100已经存储了若干预先定义的内容模板,其描绘了用于某些特定类型的内容(例如,食谱、电影、书籍、或音乐)的常见或可能的视觉布局。在一些情况下,这些视觉内容模板可以通过从常见的内容网站(例如,recip.com或imdb.com)搜集格式化语言来确定。例如,“recipe.com”有时利用html格式化代码来指示其原料列表,例如,“<ulid="ingredientlist">”。“id”属性由内容存储服务100识别,以匹配由内容存储服务100存储以用于“recipe.com”食谱的内容模板。然后内容存储服务100能够使用已知样式(pattern)来处理结构化数据的内容,知道嵌套在具有“id=ingredientlist”的“ul”元素内的列表项是食谱的原料。

在一些情况下,可以使用更广义的模式确定方法。例如,被格式化为项目符号列表的视觉内容(例如,由具有嵌套的“<li>”标签的“<ul>”标签以html指示的)可以向内容存储服务指示内容包含具有子实体的实体。内容存储服务100可以关于内容的信息方面执行字典或网络搜索,以协助标识视觉内容中的实体。例如,通过使用文本匹配或单词查找,内容存储服务可以确定列表包含“原料”,并且因此每个列表项表示单独的原料。然后,内容存储服务100可以联系模式提供者以获得用于“原料”数据类型的模式。

在某些实现方式中,内容存储服务100能够使用学习技术来辨别视觉内容的样式,该学习技术随着时间通知内容存储服务对结构化数据模式的选择。

在一些实现方式中,结构化数据能够通过从源标识符(例如,url)标识视觉内容的源来确定。在许多情况下,视觉内容的源标识符由网络剪切板与视觉内容一起传送到内容应用。使用源标识符,有时能够从索引服务获得结构化数据。索引服务(例如microsoft)包含与索引服务已经摘取或“爬取(crawl)”的内容相关联的多个结构化数据。索引服务可以通过源标识符对结构化数据进行索引或分类。内容存储服务100能够利用源标识符来联系索引服务,并从索引服务接收回被创建以用于由源标识符标识的视觉内容的结构化数据。

此外,一旦源被标识,在一些情况下,能够通过联系由源标识符指定的服务器或多个服务来获得结构化数据。例如,提供视觉内容的内容创建者的网站可以托管结构化数据服务(例如,oembed),其提供在网站上托管的内容的结构化数据表示。内容存储服务100可以经由调用其结构化数据服务来联系网站,以请求与由源标识符指示的视觉内容相关联的结构化数据。

在一些情况下,链接到视觉内容的其它内容能够协助标识视觉内容。例如,采用在网站上托管的一系列未标识图像。作为未标识图像的一部分,包含鸵鸟的照片的图像可以被包括。不存在与包含鸵鸟图像的视觉内容相关联的结构化数据,但是通过包含用于“鸵鸟”的字典条目的外部网站链接到图像。从外部网站(其本身包含用于鸵鸟的结构化数据)到鸵鸟的链接能够用于将适当的结构化数据(例如,视觉内容包含“鸵鸟”鸟类型)关联到视觉内容。内容存储服务100可以通过将视觉内容的源标识符提交给将外部链接返回到所标识的视觉内容的“分析器”或搜索引擎来获得链接信息。分析器的示例是moz.com处的“opensiteexplorer”。

已经确定了与视觉内容相关联的结构化数据,表示结构化数据的语义符号被分配给先前确定的内容容器(203)。该处理功能可以由内容存储服务100执行,如图1所描述的。

分配给内容容器的语义符号标识与在视觉内容中所描述的类型的内容相关的结构化数据。语义符号有时可以使用非视觉标识符,例如,标签、元素、属性、或性质。有时,附加的内容容器(例如,标签、元素)可以分层地嵌套在现有内容容器内,作为语义符号的附接点。附加的内容容器能够具有进一步标识例如结构化数据类型、唯一标识符、或父亲标识符的属性,以描述内容容器的层级。在一些情况下,可以将描述结构化数据或支持内容存储服务100的功能的附加的属性增加到现有的内容容器中。

可以使用以下非视觉标识符来引入语义符号:例如,现有标记语言(如html、rdfa、或可扩展标记语言(xml))的标签、元素、以及属性。例如,如果视觉内容是以html描述的,则语义符号能够采用附加的<div>和/或<span>标签分层地嵌套在内容容器内的形式。

有利地,内容存储服务100以不影响视觉内容的显示或格式化的方式将语义符号分配给视觉内容。由于语义符号不重新排序、重新处理、重新布置、或——除了以所描述的方式——改变描述初始视觉内容的标记语言的信息或格式化方面,所以附加的标签、元素、属性、或性质可以不影响例如较旧的或特征较不丰富的内容应用。

然后,使用用于存储适合于内容存储库的类型的文件、数据元素、或数据结构的熟悉的技术将包括具有语义符号的内容容器的视觉内容保存在内容存储库中(204)。

图2b示出了视觉内容和视觉内容内的内容容器的表示的示例。一些内容容器包括用于标识某些种类的结构化数据的语义符号的示例。

在图2b中,针对“蛋糕”食谱示出了视觉内容230的简单示例。两个列表(“原料”和“步骤”)作为蛋糕食谱的一部分被示出。原料包括“面粉”、“糖”、以及“蛋”,并且步骤是“混合”、“烘焙”、以及“冷却”。视觉内容230的分类是可能从网页剪切或复制。

在分组235中示出了由视觉内容230表达的内容容器的分层表示。内容容器的嵌套结构与其信息方面240-248一起被维护,并且与一些内容容器相关联的是一组语义符号250-254。图中所示的高级语义符号的非限制性示例描述了由视觉内容表示的结构化数据的某些方面以及针对内容容器的标识符和在一些情况下可以使用的内容容器之间的关系二者。

例如,内容存储服务能够向“蛋糕”食谱容器240增加指示其结构化数据类型(“类型:食谱”)和唯一标识符(“id:{生成的-蛋糕}”)的语义符号250。唯一标识符能够用于协助内容存储服务100来确定哪些项已经被改变,以及在一些情况下跟踪单独的内容容器的层级。

蛋糕240的孩子容器是原料列表241。原料241还可以具有相关联的语义符号251,其如之前地示出结构化数据类型“类型:原料”和生成的唯一标识符(“id:{生成的-原料}”)。蛋糕食谱及其原料之间的父亲-孩子关系可以由引用与“蛋糕”内容容器240相关联的唯一标识符的“原料”241内容容器上的“parentid(父亲id):{id-蛋糕}”语义符号251来指示。

“原料”内容容器241中的内容被描绘为孩子内容容器面粉242、糖243、以及蛋244。图2b中示出了用于面粉242的语义符号252的示例;用于糖243和蛋244的语义符号在图2b中未示出,但是可以类似于语义符号252。在语义符号252中,结构化数据类型(“类型:原料”)被分配给面粉242以指示在该上下文中“面粉”是一种类型的原料。唯一标识符(“id:{生成的-面粉}”)也被分配,作为面粉242是原料的孩子的指示符(“父亲id:{id-原料}”)。

蛋糕240的另一孩子内容容器是步骤列表245。与步骤245相关联的是语义符号253,其包含与先前在上面讨论的元素类似的元素。在语义符号253中,结构化数据类型(“类型:步骤”)、以及唯一标识符(“id:{生成的-步骤}”)和父亲为蛋糕240内容容器的指示符(“父亲id:{id-蛋糕}”)被分配给步骤245。

步骤内容容器245中的内容被描绘为孩子混合246、烘焙247、以及冷却248。示出了与混合246内容容器相关联的示例语义符号254。再一次,结构化数据类型(“类型:步骤”)以及父亲为步骤245的指示符(“父亲id:{id-步骤}”)被分配,并且针对混合246内容容器生成唯一标识符(“id:{生成的-混合}”)。

应当注意,图2b中对内容容器及其相关联的语义内容的描绘仅是示例性的,而并非旨在是限制性的。视觉内容和相关联的语义符号的其它表示是可能的。

为了进一步示例说明,图2c示出了用于图2b中的“蛋糕”食谱的利用微数据的html(htmlwithmicrodata)标记语言的示例。注意,为了清楚起见,在图2c中已经移除了某些不重要的标记语言。在图2c中利用微数据的html使用附接到围绕标记块的“<div>”元素的“itemtype(项类型)”性质来引用来自模式提供者“schema.org”的“食谱”模式(行261)。为了指示食谱的名称,“蛋糕”食谱标签的初始信息方面由指示“名称”项性质被设置为“蛋糕”的“<span>”元素围绕(行262)。

进一步沿图2c中列出的代码,“原料”列表由行263中的无序列表html元素(“<ul>”)指示。行264-266表示原料列表中的列表项(面粉、糖、以及蛋),并且还指示其结构化数据具有语义符号“itemprop=原料”。例如,行264指示整个内容容器,包括来自内容存储库的信息方面(文本“面粉”)、格式化方面(列表项)、以及结构化数据方面(指示“面粉”是这个食谱中的原料的“itemprop=原料”)。行267-268关闭用于示出内容容器层级的嵌套的开放标签“<div>”和“<ul>”标签。

有时,可以通过用户输入或通过用户将附加的视觉内容剪切到现有内容存储库中二者将视觉内容插入到现有内容存储库中。当存储新的视觉内容的请求发生时,内容存储服务100从视觉内容中确定一个或多个内容容器(201)。然后确定与新的视觉内容相关联的结构化数据(202)。表示结构化数据的语义符号被分配给内容容器中的一个或多个(203),以使得语义符号不影响视觉内容的视觉方面。然后将新的视觉内容(包括任何新的内容容器和语义符号)存储在现有内容存储库中。以这种方式,新的视觉内容的视觉方面和结构化数据方面插入到内容存储库中的内容容器的层级中。

使用来自图2b的“蛋糕”食谱来进行示例说明,假设内容应用131的用户希望在原料列表中插入新的原料“肉桂”。用户通过使用适合于在内容应用131的视觉编辑界面中插入文本的无论何种方法,通过在“蛋”之后插入文本“肉桂”作为新的列表项来指示存储内容的请求。

文本被视觉地插入到用户,并且请求被发送到内容存储服务100,内容存储服务100可以实现图2a的处理流程。图2d示出了用于图2b中的“蛋糕”食谱的利用微数据的html标记语言的示例。为了清楚起见,图2d中示出了与如图2c所示的标记语言相同的标记语言,除了不同的行270。在行270中,示出了针对新的“肉桂”原料的html。内容容器的信息方面由文本“肉桂”来指示。格式化方面由“蛋”之后的新的原料的插入点以及由列表项的内容容器的元素类型(由围绕“肉桂”的“<li>”和“</li>”标签表示)二者来指示。内容容器的结构化数据方面使用“<li>”标签中的“itemprop=原料”性质通过“肉桂”是一种类型的原料的语义符号来指示。

某些实现方式有助于通过如关于图1所描述的内容应用131来更新存储在内容存储库中的视觉内容。图3a示出了用于对更新内容存储库中的视觉内容的请求进行接收和处理的示例处理流程。在图3a中,接收对内容存储库中的视觉内容进行删除或修改的请求(301)。请求类型(302)确定处理流程要遵循的适当路径:“删除”或“修改”。应当注意,图3a的处理流程是关于视觉内容的单个项的操作的示例说明,但是这些操作可以关于视觉内容的多个项迭代地、依次地、或并行地执行。

当关于视觉内容请求“删除”操作时,从内容存储库中移除与视觉内容相关联的一个或多个内容容器(310)。暂时返回到图2b来进行示例说明,假设如通过内容应用131查看的视觉内容示出了如图2b所示的原料的列表。内容应用131的用户希望从蛋糕食谱中的原料列表中删除“面粉”。用户继续选择文本“面粉”,并通过内容应用131的某个接口方面指示“删除”请求,例如,经由“删除”菜单项或通过按下键盘上的“删除”键。文本“面粉”从内容应用131的视觉编辑界面中移除。再次参考图2b,内容容器242和相关联的语义符号252从内容存储库中移除。

在利用微数据的html是用于描述内容容器的信息、格式化、以及结构化数据方面的标记语言的示例中,当视觉内容被移除时,方面中的每个方面被移除。换言之,在用户看到文本“面粉”(信息和格式化方面)从视觉编辑界面中移除时,描述与内容容器相关联的结构化数据的语义符号也从标记语言中移除。语义符号的移除是因为语义符号被增加为内容容器的性质而实现的。

图3b示出了用户对视觉内容进行的任意编辑以及内容存储库中的对应结果的示例。参考图3b,可以使用记事本应用或其它内容应用来编辑具有相关联的语义符号的视觉内容330。视觉内容330可以是在视觉内容230具有如图2b所示地分配的语义符号之后的视觉内容230的视图。因此,当使用记事本应用或其它内容应用的编辑特征从视觉内容330中移除项“面粉”时,孩子内容容器面粉242在内容存储库处被移除。有利地,“原料”内容容器241中的内容和相关联的语义符号维持不受影响。

作为进一步的示例说明,针对来自图2b的“蛋糕”食谱的利用微数据的html标记语言被示为具有修改。注意,在图3b中,为了清楚起见,已经移除了某些不重要的标记语言。在图3b中利用微数据的html使用附接到围绕标记块的“<div>”元素的“项类型”性质来引用来自模式提供者“schema.org”的“食谱”模式(行351)。为了指示食谱的名称,“蛋糕”食谱标签的初始信息方面由指示“名称”项性质被设置为“蛋糕”的“<span>”元素围绕(行352)。

进一步沿图3b中列出的代码,“原料”列表由行353中的无序列表html元素(“<ul>”)指示。行354-356表示原料列表中的列表项(面粉、糖、以及蛋),并且还指示其结构化数据具有语义符号“itemprop=原料”。这里,为了清楚起见,通过删除线(strikethrough)文本描绘了用于面粉的内容容器的删除,但是实现方式将可操作地从内容存储库中的标记语言中移除行354的整体,包括“<li>”标签及其包围的文本。移除行354高效地从内容存储库中移除整个内容容器,包括信息方面(文本“面粉”)、格式化方面(列表项)、以及结构化数据方面(指示“面粉”是这个食谱中的原料的“itemprop=原料”)。行357-358关闭用于示出内容容器层级的嵌套的打开标签“<div>”和“<ul>”标签。

图3c示出了用户对视觉内容进行的任意编辑以及内容存储库中的对应结果的另一示例。当关于视觉内容请求“修改”操作时,视觉内容的视觉方面在内容存储库中被修改(320)。再一次使用来自图2b的“蛋糕”食谱进行示例说明,假设在语义符号分配给视觉内容230之后,内容应用131的用户访问原料列表中的“糖”并希望将其修改为“红糖”363。用户通过使用适合于在内容应用131的视觉编辑界面中编辑文本的无论何种方法在文本“糖”前面插入文本“红”来生成“修改”请求。因此,当使用记事本应用或其它内容应用的编辑特征在视觉内容内增加项“红”363时,孩子内容容器糖243内的视觉内容在内容存储库处更新。有利地,“糖”孩子内容容器243和“原料”内容容器241中的内容和相关联的语义符号维持不受影响。

作为进一步的示例说明,用于来自图2b的“蛋糕”食谱的利用微数据的html标记语言被示为具有修改。为了清楚起见,在图3c中示出了与如图3b所示的标记语言相同的标记语言,除了不同的行360-361。针对“面粉”原料(行360)的html不再以删除线文本示出,因为原料尚未被删除。在行361中,现在将“红糖”指示为由图2b中的内容容器242表示的原料项的信息方面。(为了清楚地指示插入,对“红”的文本加下划线,但是加下划线不是html的一部分)。

这里,在维护与内容容器相关联的语义符号的同时对内容容器的视觉方面进行了修改。有利地,内容容器的结构化数据方面尚未被修改。实际上,由于表示结构化数据方面的语义符号被非侵入性地分配给内容容器242,所以在仅内容应用修改的情况下能够发生对视觉方面的修改。注意,在该特定示例中,格式化方面也未被修改,但是格式化(或格式化的至少一些)也可能经由该处理流程被修改。

作为这些技术的结果,不同类型的内容应用(包括相同的内容应用的不同版本(例如,之前的或稍后的版本,或者用于不同种类的设备或平台的版本))可以更新相同的内容存储库而不影响其它类型的内容应用的功能。此外,由于语义符号尚未受到影响,即使当视觉内容的视觉方面被修改时,结构化数据应用也能够继续查看视觉内容。例如,如上面所述,如果“糖”由用户修改为“红糖”,则结构化数据应用响应于对食谱的原料的查询而返回经修改的视觉内容(“红糖”)。

应当注意,使用利用微数据的html作为这里和其它地方的可操作示例并非旨在是限制性的。能够针对以图形结构布置的视觉内容来编码信息、格式化、以及结构化数据方面的其它标记语言是可能的,例如,rdfa、xml、以及甚至自定义标记语言。

由内容存储服务100存储和变换的内容能够由查看和使用与语义符号相关联的结构化数据的结构化数据应用进行访问。如图1指出的,客户端/服务140能够包括请求来自内容存储服务100的结构化数据的结构化数据应用141。在一些实现方式中,内容存储服务100显露了应用编程接口(api),其使得结构化数据应用或服务141能够跨单个内容存储库或跨多个内容存储库来查询结构化数据的某些类型或值。

api一般是用于使得两个或更多个应用能够彼此通信的一组编程指令和标准。api是由程序代码组件或硬件组件(在下文中为“api实现组件”)实现的接口,其允许不同的程序代码组件或硬件组件(在下文中为“api调用组件”)访问和使用一个或多个功能、方法、程序、数据结构、类、和/或由api实现组件提供的其它服务。api能够定义在api调用组件与api实现组件之间传递的一个或多个参数。api和相关组件可以存储在一种或多种计算机可读存储介质中。api常见地根据rest(代表性状态传输)或soap(简单对象访问协议)架构被实现为一组超文本传输协议(http)请求消息,以及用于响应消息的指定格式或结构。

图4示出了用于实现结构化数据api的示例处理流程。内容存储服务100(api实现组件)能够接收对于指定类型的结构化数据的请求(401),可能经由请求查询。与匹配查询的指定的结构化数据相关联的视觉内容和/或结构化数据被返回(402)到api调用组件。

例如,结构化数据应用141可以使用api来联系内容存储服务100以针对“食谱”来查询用户的内容存储库或多个内容存储库。或者,结构化数据应用141可以使用api来请求保存在用户的内容存储库中的、包含“樱桃”的甜点。或者,结构化数据应用141可以使用api来使得用户能够创建合并要购买以用于一组所选择的食谱的原料的单个购物清单。在一些情况下,查询可以以自然语言查询的形式短语化,例如,“所有食谱以香草作为原料”。结构化数据应用141可以解释自然语言查询,并且然后请求匹配查询的结构化数据和/或相关联的视觉内容。用于购物整合的第三方免费或商业服务(例如,amazon)是一种类型的结构化数据应用141,其能够使用api与内容存储服务进行通信,以获得所选择的食谱的原料列表。api还可以提供要使用诸如docdb和等数据管理服务执行的数据提取和索引的能力。

有利地,由于所描述的语义符号,即使在将视觉内容存储在内容存储库中之后修改了视觉内容,对于指定类型的结构化数据的请求仍然能够取回数据。例如,在图3c的说明性实例中,糖到红糖的变化不应当破坏将糖指示为原料的语义符号。因此,当结构化数据应用141请求来自内容存储库的“原料”时,将返回“红糖”。

图5示出了示例说明在所描述的内容存储服务的一些实现方式中使用的计算设备或系统的组件的框图。例如,可操作以运行内容存储服务100的任何计算设备或促进与环境中的其它设备之间的交互的中间设备每个均可以如关于系统500所描述地实现,系统500本身能够包括一个或多个计算设备。系统500能够包括一个或多个刀片式服务器设备、独立的服务器设备、个人计算机、路由器、集线器、交换机、桥接器、防火墙设备、入侵检测设备、大型计算机、网络附接的存储设备、以及其它类型的计算设备。硬件能够根据任何合适的计算机架构(例如,对称式多处理(smp)架构或非均匀存储器访问(numa)架构)来配置。

系统500能够包括处理系统501,其可以包括诸如中央处理单元(cpu)或微处理器的处理设备以及从存储系统503取回并执行软件502的其它电路。处理系统501可以被实现在单个处理设备内,但是也可以跨执行程序指令时进行协作的多个处理设备或子系统来分布。

处理系统501的示例包括通用中央处理单元、专用处理器、和逻辑设备,以及任何其它类型的处理设备、组合、或其变型。一个或多个处理设备可以包括多处理器或多核心处理器,并且可以根据以下一个或多个合适的指令集进行操作:包括但不限于精简指令集计算(risc)指令集、复合指令集计算(cisc)指令集、或其组合。在某些实施例中,可以包括一个或多个数字信号处理器(dsp),作为代替通用cpu或除通用cpu之外的系统的计算机硬件的一部分。

存储系统503可以包括处理系统501可读的、并且能够存储包括内容存储服务100和内容存储服务api的软件502的任何计算机可读存储介质。存储系统503可以包括以任何方法或技术实现以用于存储信息(例如,计算机可读指令、数据结构、程序模块、或其它数据)的易失性和非易失性的、可移除和不可移除的介质。

存储介质的示例包括随机存取存储器(ram)、只读存储器(rom)、磁盘、光盘、cd、dvd、闪速存储器、固态存储器、相变存储器、或任何其它合适的存储介质。某些实现方式可以涉及虚拟存储器和非虚拟存储器中的任一个或二者。在任何情况下,存储介质都不由传播信号构成。除了存储介质之外,在一些实现方式中,存储系统503还可以包括通信介质,软件502可以通过通信介质被内部地或外部地通信。

存储系统503可以被实现为单个存储设备,但是也可以跨相对于彼此同地协作或分布的多个存储设备或子系统来实现。存储系统503可以包括能够与处理系统501通信的附加的元件,例如,控制器。

软件502可以以程序指令以及其它函数来实现,当一般地由系统500执行或特别地由处理系统501执行时,可以指示系统500或处理系统501如本文所描述地进行操作以用于实现结构化内容存储和取回。软件502可以提供实现内容存储服务100的程序指令504。软件502可以在系统500上实现组件、程序、代理、或层,该组件、程序、代理、或层以机器可读处理指令(如指令504)来实现如由内容存储服务100执行的、本文所描述的方法。

软件502还可以包括附加的过程、程序、或组件,例如,操作系统软件或其它应用软件。软件502还可以包括处理系统501可执行的、固件或一些其它形式的机器可读处理指令。

一般而言,当软件502被加载到处理系统501中并执行时,软件502可以将系统500从通用计算系统整体变换为定制以用于促进结构化内容存储和取回的专用计算系统。实际上,在存储系统503上对软件502进行编码可以变换存储系统503的物理结构。物理结构的特定变换可以取决于本说明书的不同实现方式中的各种因素。这些因素的示例可以包括但不限于,用于实现存储系统503的存储介质的技术,以及计算机存储介质是被定性为主要存储还是次要存储。

系统500可以表示任何这样的计算系统:在该计算系统上软件502可以是分阶段的,并且软件502可以从该计算系统被分布、传输、下载、或以其它方式提供到另一计算系统以用于部署和执行,或者其它附加的分布。

在系统500包括多个计算设备的实施例中,可以使用一个或多个通信网络来促进计算设备之间的通信。例如,一个或多个通信网络能够包括促进计算设备之间的通信的局域网、广域网、或自组织网络。在计算设备之间能够包括一个或多个直接通信链路。另外,在一些情况下,计算设备能够安装在地理分布的位置处。在其它情况下,多个计算设备能够安装在单个地理位置处,例如,服务器场或服务器室。

可以包括通信接口505,其提供允许通过通信网络或网络的集合(未示出)或在空中在系统500与其它计算系统(未示出)之间进行通信的通信连接和设备。一起允许系统间通信的连接和设备的示例可以包括网络接口卡、天线、功率放大器、rf电路、收发机、以及其它通信电路。连接和设备可以通过通信介质进行通信,以与其它计算系统或系统的网络交换通信,例如,金属、玻璃、空气、或任何其它合适的通信介质。前述通信介质、网络、连接、以及设备是公知的,并且不需要在这里进行详尽地讨论。

应当注意,系统500的许多元件可以包括在片上系统(soc)设备中。这些元件可以包括但不限于处理系统501、通信接口505,以及甚至存储系统503和软件502的元件。

图6示出了其中可以执行用于结构化内容存储和取回的技术的实现方式的示例系统架构。在图6所示的示例中,用于与视觉内容或结构化数据进行交互的内容或结构化数据应用/服务601能够在设备600上实现,设备600可以是计算系统或包括计算系统,例如,膝上型计算机、台式计算机、平板计算机、阅读器、移动电话等。在内容或结构化数据应用作为服务(可能作为许多用户可访问的云服务)来操作的那些实现方式中,设备600能够包括一个或多个刀片式服务器设备、独立的服务器设备、个人计算机、路由器、集线器、交换机、桥接器、防火墙设备、入侵检测设备、大型计算机、网络附接的存储设备、以及其它类型的计算设备。

内容存储服务611可以被实现为服务器610上的软件或硬件(或其组合),服务器610可以是系统500的实例化。内容存储服务611的特征和功能可以是设备600或者内容或结构化数据应用601经由api可调用的。

内容存储服务611可以与其它服务621进行通信,其可以提供这样的能力:例如,模式服务(即,另一服务是模式提供者)、搜索服务、字典搜索、或可以用于确定与视觉内容相关联的结构化数据或语义符号的其它服务。其它服务621可以在服务器620上实现,服务器620本身可以是类似于关于系统500或其方面描述的系统的实例化。在给定的环境中许多其它服务可以是可用的。

在环境中的组件之间进行的数据的通信和互换可以通过网络650发生。网络650能够包括但不限于蜂窝网络(例如,无线电话)、点到点拨号连接、卫星网络、互联网、局域网(lan)、广域网(wan)、wi-fi网络、自组织网络、内联网、外联网、或其组合。网络可以包括一个或多个连接的网络(例如,多网络的环境),包括诸如互联网的公共网络,和/或诸如安全企业私有网络的私有网络。

可替代地或另外地,本文描述的功能、方法、以及过程能够至少部分地由一个或多个硬件模块(或逻辑组件)来实现。例如,硬件模块能够包括但不限于专用集成电路(asic)芯片、现场可编程门阵列(fpga)、片上系统(soc)系统、复杂可编程逻辑器件(cpld)、以及现在已知或以后开发的其它可编程逻辑器件。当硬件模块被激活时,硬件模块执行硬件模块内包括的功能、方法、以及过程。

本发明的某些方面提供以下非限制性实施例:

示例1。一种系统,包括:一种或多种计算机可读存储介质;处理系统;存储在一种或多种计算机可读存储介质上的用于内容存储服务的程序指令,其指示处理系统响应于接收存储视觉内容的指示而:确定用于视觉内容的一个或多个内容容器;确定与视觉内容相关联的结构化数据;将表示结构化数据的语义符号分配给一个或多个内容容器中的至少一个内容容器;以及将视觉内容和具有语义符号的至少一个内容容器存储在内容存储库中,内容存储库存储在一种或多种计算机可读存储介质上。

示例2。示例1的系统,还包括存储在计算机可读存储介质上的用于应用编程接口的程序指令,其指示处理系统响应于接收对于指定类型的结构化数据的请求,而返回内容存储库中的与指定类型的结构化数据相关联的视觉内容。

示例3。示例1或2的系统,还包括存储在一种或多种计算机可读存储介质上的程序指令,其指示处理系统响应于接收删除或修改内容存储库中的视觉内容的请求而:当请求是删除视觉内容时,从内容存储库中移除与视觉内容相关联的一个或多个内容容器;以及当请求是修改视觉内容时,修改内容存储库中的视觉内容的视觉方面。

示例4。示例1-3中任一项的系统,还包括存储在一种或多种计算机可读存储介质上的程序指令,其指示处理系统:从第一内容应用接收对内容存储库中的特定视觉内容的修改,内容存储库包括具有相关联的语义符号的至少一个内容容器,其中,对特定视觉内容的修改是在至少一个内容容器中的一个内容容器内的,其中,第一内容应用不识别语义符号,语义符号保留在至少一个内容容器中的一个内容容器上,而不管对特定视觉内容的修改。

示例5。示例1-4中任一项的系统,还包括存储在一种或多种计算机可读存储介质上的程序指令,其指示处理系统:响应于从第二内容应用接收对于特定视觉内容的请求,向第二内容应用提供具有修改的特定视觉内容和与其相关联的语义符号。

示例6。示例5的系统,其中,第一内容应用是与第二内容应用不同的版本。

示例7。示例1-6中任一项的系统,其中,用于确定用于视觉内容的一个或多个内容容器的程序指令包括指示处理系统标识视觉内容中的现有内容容器的指令。

示例8。示例1-7中任一项的系统,其中,用于确定用于视觉内容的一个或多个内容容器的程序指令包括指示处理系统创建新的内容容器的指令。

示例9。示例1-8中任一项的系统,其中,用于确定与视觉内容相关联的结构化数据的程序指令包括指示处理系统分析视觉内容中的模式的指令。

示例10。示例1-9中任一项的系统,其中,用于确定与视觉内容相关联的结构化数据的程序指令包括指示处理系统进行以下操作的指令:通过对视觉内容与存储在一种或多种计算机可读存储介质上的已知内容的至少一个内容模板进行比较来标识用于视觉内容的一个或多个可能模式;并且请求来自模式提供者的一个或多个可能模式。

示例11。示例1-10中任一项的系统,其中,用于确定与视觉内容相关联的结构化数据的程序指令包括指示处理系统进行以下操作的指令:根据源标识符来标识视觉内容的源;并且从视觉内容的源中取回结构化数据。

示例12。示例1-11中任一项的系统,其中,用于确定与视觉内容相关联的结构化数据的程序指令包括指示处理系统进行以下操作的指令:标识与视觉内容相关联的源标识符;并且从具有由与视觉内容相关联的源标识符索引的多个结构化数据的索引服务中取回结构化数据。

示例13。示例1-12中任一项的系统,其中,用于将表示结构化数据的语义符号分配给一个或多个内容容器中的至少一个内容容器的程序指令包括指示处理系统进行以下操作的指令:将指示结构化数据类型的非视觉标识符附到一个或多个内容容器中的至少一个内容容器的视觉方面。

示例14。示例1-13中任一项的系统,其中,语义符号是以html描述的。

示例15。示例1-14中任一项的系统,其中,视觉内容是通过具有一些现有结构来非结构化或半结构化的,然后利用由所描述的语义符号供应的结构对其进行补充。

示例16。一种促进内容存储库中的结构化数据的方法,该方法包括:接收存储非结构化或半结构化的视觉内容的指示;从视觉内容中确定一个或多个内容容器;确定与视觉内容相关联的结构化数据;将表示结构化数据的语义符号分配给一个或多个内容容器中的至少一个内容容器;将视觉内容和具有语义符号的至少一个内容容器存储在内容存储库中;以及从第一内容应用接收对具有相关联的语义符号的特定视觉内容的修改,修改包括对任意位置的编辑,语义符号保留在至少一个内容容器中的一个内容容器上,而不管对特定视觉内容的修改。

示例17。示例16的方法,其中,确定用于视觉内容的一个或多个内容容器包括以下中的一个或多个:创建新内容容器,以及标识视觉内容中的现有内容容器。

示例18。示例16或17的方法,其中,确定结构化数据包括分析视觉内容中的模式。

示例19。示例16-18中任一项的方法,其中,确定结构化数据包括:通过对视觉内容与已知内容的至少一个内容模板进行比较来标识用于视觉内容的一个或多个可能模式;并且请求来自模式提供者的可能模式。

示例20。示例16-19中任一项的方法,其中,将表示结构化数据的语义符号分配给一个或多个内容容器中的至少一个内容容器包括:将指示结构化数据类型的非视觉标识符附到一个或多个内容容器中的至少一个内容容器的视觉方面。

示例21。示例16-20中任一项的方法,还包括:接收对于指定类型的结构化数据的请求;并且返回内容存储库中的与指定类型的结构化数据相关联的视觉内容。

示例22。示例16-21中任一项的方法,其中,第一内容应用不识别结构化内容。

示例23。示例16-21中任一项的方法,其中,第一内容应用是记事本应用。

示例24。示例16-23中任一项的方法在服务器上执行。

示例25。一种方法,包括:接收对于内容存储库中的第一指定类型的结构化数据的第一请求,内容存储器包括具有相关联的语义符号的至少一个内容容器;响应于接收第一请求,提供来自内容存储库的与第一指定类型的结构化数据相关联的至少一个视觉内容;从内容应用接收与第一指定类型的结构化数据相关联的至少一个视觉内容中的一个视觉内容的修改,其中,修改是在至少一个内容容器中的一个内容容器内的,语义符号保留在至少一个内容容器中的一个内容容器上,而不管修改;在对至少一个视觉内容中的一个视觉内容进行修改之后,接收对于内容存储库中的第一指定类型的结构化数据的第二请求;以及响应于接收第二请求,提供来自内容存储库的与第一指定类型的结构化数据相关联的至少一个视觉内容,其中,响应于第二请求而提供的至少一个视觉内容包括具有修改的视觉内容。

示例26。示例25的方法,其中,内容应用是记事本应用。

示例27。示例25或26的方法,还包括:响应于从第二内容应用接收对于特定视觉内容的请求,向第二内容应用提供具有修改的特定视觉内容和与其相关联的语义符号。

示例28。示例25-27中任一项的方法,还包括:接收存储所标识的视觉内容的指示;确定用于所标识的视觉内容的一个或多个内容容器;确定与所标识的视觉内容相关联的结构化数据;将表示结构化数据的语义符号分配给用于所标识的视觉内容的一个或多个内容容器中的至少一个内容容器;以及将所标识的视觉内容和具有所分配的语义符号的、用于所标识的视觉内容的至少一个内容容器存储在内容存储库中。

示例29。示例28的方法,其中,用于所标识的视觉内容的所分配的语义符号包括第一指定类型的结构化数据,所标识的视觉内容被包括在响应于第一请求和/或第二个请求而提供的至少一个视觉内容中。

示例30。示例28或29的方法,其中,所标识的视觉内容是非结构化的。

示例31。示例28或29的方法,其中,所标识的视觉内容是通过具有一些现有结构而半结构化的,然后利用由所描述的语义符号供应的结构对其进行补充。

示例32。示例25-31中任一项的方法,其中,确定用于所标识的视觉内容的一个或多个内容容器包括以下中的一个或多个:创建新的内容容器,以及标识所标识的视觉内容中的现有内容容器。

示例33。示例25-32中任一项的方法,其中,确定结构化数据包括分析所标识的视觉内容中的模式。

示例34。示例25-33中任一项的方法,其中,确定结构化数据包括:通过对所标识的视觉内容与已知内容的至少一个内容模板进行比较来标识用于所标识的视觉内容的一个或多个可能模式;以及请求来自模式提供者的可能模式。

示例35。示例25-34中任一项的方法,其中,将表示结构化数据的语义符号分配给一个或多个内容容器中的至少一个内容容器包括:将指示结构化数据类型的非视觉标识符附到一个或多个内容容器中的至少一个内容容器的视觉方面。

示例36。一种系统,包括:用于接收存储视觉内容的指示的模块;用于从视觉内容中确定一个或多个内容容器的模块;用于确定与视觉内容相关联的结构化数据的模块;用于将表示结构化数据的语义符号分配给一个或多个内容容器中的至少一个内容容器的模块;以及用于将视觉内容和具有语义符号的至少一个内容容器存储在内容存储库中的模块。

示例37。示例36的系统,还包括:用于从第一内容应用接收对具有相关联的语义符号的特定视觉内容的修改的模块,修改包括对任意位置的编辑,语义符号保留在至少一个内容容器中的一个内容容器上,而不管对特定视觉内容的修改。

示例38。一种包括用于执行示例16-35中任一项的方法的模块的系统。

示例39。一种系统,包括:用于接收对于内容存储库中的第一指定类型的结构化数据的第一请求的模块,内容存储库包括具有相关联的语义符号的至少一个内容容器;用于响应于接收第一请求而提供来自内容存储库的与第一指定类型的结构化数据相关联的至少一个视觉内容的模块;用于从内容应用接收对与第一指定类型的结构化数据相关联的至少一个视觉内容中的一个视觉内容的修改的模块,其中,修改是在至少一个内容容器中的一个内容容器内的,语义符号保留在至少一个内容容器中的一个内容容器上,而不管修改;用于在对至少一个视觉内容中的一个视觉内容进行修改之后接收对于内容存储库中的第一指定类型的结构化数据的第二请求的模块;以及用于响应于接收第二请求而提供来自内容存储库的与第一指定类型的结构化数据相关联的至少一个视觉内容的模块,其中,响应于第二请求而提供的至少一个视觉内容包括具有修改的视觉内容。

应当理解,本文描述的示例和实施例仅用于示例说明的目的,并且对于本领域技术人员而言建议据此来进行各种修改或改变,并且各种修改或改变将包括在本申请的精神和权限内。

尽管已经以特定于结构特征和/或行为的语言对主题进行了描述,但是可以理解,所附权利要求中限定的主题不一定限于上面描述的特定特征或行为。相反,上面描述的特定特征和行为作为实现权利要求的示例而公开,并且其它等同的特征和行为旨在在权利要求的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1