一种生成结构化数据的元数据的方法与装置的制造方法_3

文档序号:8528202阅读:来源:国知局
则结构化数据具有标题数组;如果该待检测数组非标题数组,则结构化数据不具有标题数组。
[0109]对待检测数组的解析方式应与之前对各数组的解析方式不同。例如,对于二维表数据,通常将其按列解析为分别对应一数据类型的多个列数组,进而确定各列数组的数据类型,但待检测数组则是按行解析获得,并通常为首行,从而当该待检测数组被确定为标题数组时,其即为一标题行。具体如,继前示例A,二维表数据中处于标题位置的待检测数组包括以下 5 个兀素:name ;age ;gender ;educat1n ;degreeD
[0110]在此,本领域技术人员应能理解,上述列数组及标题行仅为示例,其他对结构化数据的解析方式,如可适用于本发明来获得标题数组以及分别对应一数据类型的各数组,均应被包含于本发明的专利保护范围之内。例如,对于某些二维表数据,需对其按行解析来获得分别对应一数据类型的多个行数组,从而其标题数组就可能为位于第一列的标题列,如果有的话。
[0111]例如,网络设备可以至少可以基于以下3种方式来确定结构化数据是否具有标题数组:
[0112]1.1)标题数组中每个元素的数据类型与该元素所对应的一个前述解析获得的数组的数据类型的差异。
[0113]为便于说明,以下均以列数组及标题行进行举例。如果待检测数组为标题行,其中每个元素的数据类型应与其所属的列数组的数据类型差异较大。例如,继前示例A,name、age、gender、educat1n、degree均为文本数据类型。随后,网络设备将name的数据类型“文本”与name所属的列数组(数组I)的数据类型“文本”相比较,无差异;网络设备将age的数据类型“文本”与age所属的列数组(数组2)的数据类型“年龄”相比较,有差异;网络设备将gender的数据类型“文本”与gender所属的列数组(数组3)的数据类型“性别”相比较,有差异;网络设备将educat1n的数据类型“文本”与educat1n所属的列数组(数组4)的数据类型“学历”相比较,有差异;网络设备将degree的数据类型“文本”与degree所属的列数组(数组5)的数据类型“学位”相比较,有差异。通过前述5次对比,其中4组数据类型有差异,数量占比大于差异阈值(如60% ),因此,网络设备可以确定待检测数组为标题数组,也即,结构化数据具有标题数组。
[0114]其中,每个元素的数据类型同样可以由多个数据类型探测器进行探测来确定。在此,采用多个数据类型探测器探测待检测数组中元素的数据类型的方式,与前述采用多个数据类型探测器探测各数组中元素的数据类型的方式相同或基本相同,因此不再赘述,并以引用的方式包含于此。
[0115]此外,网络设备还可以根据已确定的每个数组的数据类型,通过调用相应数据类型的数据类型探测器来分别探测待检测数组中与各数组相对应的元素的数据类型,以根据各元素的数据类型与相应数组的数据类型之间的差异,确定该待检测数组是否为标题数组。例如,继前示例A,数组I的数据类型为“文本”,网络设备可以通过调用用于探测“文本”的数据类型探测器来探测数组I所对应的待检测数组中的元素“name”,并确定“name”属于文本数据类型,也即,“name”的数据类型与数组I的数据类型无差异。数组2的数据类型为“年龄”,网络设备可以通过调用用于探测“年龄”的数据类型探测器来探测数组2所对应的待检测数组中的元素“age”,并确定“age”不属于“年龄”数据类型,也即,“age”的数据类型与数组2的数据类型有差异。以此类推,通过5次对比,其中4组数据类型有差异,数量占比大于差异阈值,因此,网络设备可以确定待检测数组为标题数组,也即,结构化数据具有标题数组。
[0116]1.2)标题数组中各元素是否具有标题相关特征。
[0117]在此,标题相关特征包括但不限于各元素均不为空、各元素均不为数值、各元素的长度不超过预定阈值等。
[0118]如果待检测数组中各元素满足前述一项或多项标题相关特征,则该待检测数组为标题数组,从而该结构化数据具有标题数组。
[0119]1.3)网络设备综合前述1.1)和1.2)两种方式来确定。
[0120]在此,如果待检测数组的数据类型与各数组的数据类型的差异较大,并且待检测数组中各元素具有标题相关特征,网络设备可以确定结构化数据具有标题数组。
[0121]2)结构化数据所属的应用领域。
[0122]在此,网络设备可以根据所确定的每个数组各自的数据类型,通过查询应用领域数据库来确定结构化数据所属的应用领域。所述应用领域数据库中保存有数据类型与相应的应用领域的对应关系。
[0123]其中,所述应用领域包括但不限于人力资源、互联网资源、财务数据等。
[0124]例如,继前示例A,所确定的每个数组的各数据类型包括“年龄”、“性别”、“学历”、“学位”,这些数据类型对应的应用领域为人力资源。
[0125]又如,如果所确定的每个数组的各数据类型包括“网站名称”、“网址”等,这些数据类型对应的应用领域为互联网资源。
[0126]还如,如果所确定的每个数组的各数据类型包括“单价”、“数量”、“总价”等,这些数据类型对应的应用领域为财务数据。
[0127]3)结构化数据的至少一个数组中包含与相应数组的数据类型不符的异常元素。
[0128]在此,网络设备可以根据所确定的各数组的数据类型,对结构化数据相应数组中包含的元素进行探测,以确定其中是否包含与所属数组的数据类型不一致的异常元素。
[0129]例如,结构化数据所对应的一数组的数据类型为学历,并且该数组中包含一元素“20000”。网络设备可以通过调用“学历”数据类型探测器对该数组所包括的所有元素进行探测,并将该元素“20000”确定为与数据类型“学历”不符的异常元素。
[0130]图2示出根据本发明一个实施例的装置示意图,其具体示出一种生成结构化数据的元数据的装置,也即生成装置10。如图2所示,生成装置10被装置于网络设备中,并具体包括装置11-13。
[0131]装置11解析结构化数据,以获得该结构化数据所对应的一个或多个数组,其中每个数组对应于一个数据类型(为便于区分,以下将装置11称为数组获得装置11);装置12确定其中至少一个数组的数据类型(为便于区分,以下将装置12称为数据类型确定装置12);装置13根据所确定的数据类型,生成该结构化数据的元数据(为便于区分,以下将装置13称为元数据生成装置13)。
[0132]具体地,数组获得装置11解析结构化数据,以获得该结构化数据所对应的一个或多个数组,其中每个数组对应于一个数据类型。
[0133]为简单说明起见,本发明多以二维表数据作为结构化数据进行举例。本领域技术人员应能理解,其他现有的或今后可能出现的结构化数据如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
[0134]在此,数组获得装置11或生成装置10中的其他特定装置可以分析二维表数据的数据编码方式,例如UTF8、GB18030等数据编码方式。数组获得装置11或生成装置10中的其他特定装置例如可以将二维表数据转换为文本格式。一个示例性的文本格式的二维表数据可如以上示例A所示。
[0135]接着,数组获得装置11可以分析上述二维表数据中的列分隔符,并确定其中分号“;”为列分隔符。随后,数组获得装置11可以将该二维表数据解析为5个数组,每个数组包括4个元素,例如上述数组1-5。
[0136]其中,数组获得装置11例如可以确定每行中数量相等的字符,并将该每行中数量相等的字符确定为列分隔符。例如,前述二维表数据中每行均包括4个列分隔符。特别地,如果冒号(“:”)出现在URL地址中,该冒号非列分隔符。
[0137]在此,数组获得装置11所获得的每个数组应对应于一个数据类型。对应于一个数据类型的数组意指其所包括的全部或大部分的元素属于同一个数据类型的数组。
[0138]本领域技术人员应能理解,前述通过分析二维表数据中的列分隔符来解析结构化数据的方式仅为举例,而不应被视为对本发明的任何限制,任何现有其它或今后可能出现的解析结构化数据的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
[0139]并且,本领域技术人员应能理解,典型地,二维表数据中属于同一列的大部分元素对应于一个数据类型。特殊地,数组获得装置11也可以将同一行的所有元素确定为一个数组,这种方式适用于其中属于同一行的大部分元素对应于一个数据类型的二维表数据。
[0140]优选地,生成装置10还可以包括一初始数据转化装置(图2中未示出)。初始数据转化装置可以对初始结构化数据进行转化,以使初始结构化数据转化为可被按照预定方式解析的所述结构化数据。
[0141]在此,所述可被按照预定方式解析的结构化数据包括但不限于前述按照分析列分隔符的方式来解析的二维表数据。
[0142]所述初始结构化数据例如关系型数据库表、JSON数据、XML数据等其他形式的数据。这些初始结构化数据的结构特征与二维表数据有所不同,因此初始数据转化装置可以将这些初始结构化数据转化为可被按照分析列分隔符的方式来解析的二维表数据。
[0143]例如,XML数据如下所示:
[0144]〈name〉张三〈/name〉
[0145]<age>25</age>
[0146]〈gender〉男〈/gender〉
[0147]〈educat1n〉大学本科〈/educat1n〉
[0148]〈degree〉学士〈/degree〉
[0149]初始数据转化装置可以分析该XML数据的分隔符,并将该XML数据转化为以下二维表数据:
[0150]name ;age ;gender ;educat1n ;degree
[0151]张三;25 ;男;大学本科;学士
[0152]此外,根据本发明的一个实施例,对于如关系型数据库表、JSON数据、XML数据等其他形式的初始结构化数据,数组获得装置11也可以按照其各自的结构特征来解析以获得初始结构化数据所对应的一个或多个数组。
[0153]随后,数据类型确定装置12确定其中至少一个数组的数据类型。
[0154]在此,数据类型确定装置12可以确定其中部分或全部数组的数据类型。例如,数据类型确定装置12可以通过调用多个数据类型探测器来确定每个数组的数据类型。
[0155]其中,数据类型探测器意指用于确定数组的数据类型的计算机程序。
[0156]数据类型探测器可以通过多种统计方式来确定一个数组是否属于某一特定的数据类型。例如,一个数据类型探
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1