本体信息查询方法及系统与流程

文档序号:11830294阅读:309来源:国知局
本体信息查询方法及系统与流程

本发明涉及信息查询技术领域,具体涉及一种本体信息查询方法及系统。



背景技术:

随着互联网技术的发展,信息增长的速度越来越快,人们也常常被大量无用信息所困扰,无法从大量的信息中快速查询到自己感兴趣的资源。

本体是语义网研究领域的关键元素,它是共享概念模型形式化的规范说明,明确显示地定义了概念以及概念之间的关系。由于其概念规范、语义关系明确,很容易找出资源之间的隐含联系,把资源有效地组织起来,成为了表达领域知识的主要手段。基于本体的知识库使用本体对底层知识库进行描述。由于本体和本体知识库都建立在形式化的逻辑描述之上,因此为了得到本体知识库中的知识,通常需要将用户的查询信息转换为本体知识库所支持的查询请求,通过深层语法分析和浅层语义分析相结合的方式来处理查询请求,最终得到用户需要的查询结果。因此,如何高效快捷地通过本体知识库进行信息查询已经成为研究人员研究的热点问题。

现有的本体信息查询方法一般是根据用户的查询请求构建相应的查询树,然后对查询树进行遍历来获得查询结果。现有方法对查询树进行遍历时,需要保存非叶子节点中未知变量的取值集合,该取值集合同时参与未知变量取值的取交集操作,而非叶子节点中保存的未知变量取值在叶子节点中已经保存过,因此,相当于重复保存非叶子节点中未知变量取值或取值集合,查询树遍历结束时,往往需要重复保存大量叶子节点中未知变量取值或取值集合,造成查询效率大大降低,尤其是查询树中存在大量非叶子节点时。



技术实现要素:

本发明实施例提供一种本体信息查询方法及系统,以提高信息查询效率。

为此,本发明实施例提供如下技术方案:

一种本体信息查询方法,包括:

接收查询请求;

根据所述查询请求构建查询树;

采用正序和倒序相结合的方式遍历所述查询树的每个叶子节点,得到所述叶子节点中未知变量取值集合。

优选地,所述根据所述查询请求构建查询树包括:

将所述查询请求转换为本体查询语句;

根据所述本体查询语句构建查询树,所述本体查询语句中的每个三元组对应所述查询树中的一个叶子节点,所述叶子节点上记录三元组中的未知变量信息。

优选地,所述正序遍历方向为自下往上遍历,倒序遍历方向为自上往下遍历;

所述采用正序和倒序相结合的方式遍历所述查询树,得到所述查询树的叶子节点中未知变量取值集合包括:

以正序方式自下往上遍历所述查询树的每个叶子节点,得到正序遍历查询结果;

如果正序遍历结束后,有任意变量的取值集合中含有未使用元素,则从正序方式遍历的最后一个叶子节点开始,以倒序方式自顶向下遍历所述查询树的每个叶子节点,得到倒序遍历查询结果;

根据所述正序遍历查询结果及倒序遍历查询结果,得到所述叶子节点中未知变量取值集合。

优选地,所述以正序方式自下往上遍历所述查询树的每个叶子节点,得到正序遍历查询结果包括:

获取当前正序遍历的叶子节点;

如果所述叶子节点是第一个叶子节点,则查询所述第一个叶子节点对应的三元组,得到所述第一个叶子节点中未知变量取值集合;

如果所述未知变量取值集合都不为空,则从所述未知变量取值集合中选取一个元素作为所述第一个叶子节点中所述未知变量的当前取值,然后遍历下一 个叶子节点;

如果所述叶子节点不是第一个叶子节点,则获取所述叶子节点中非新未知变量的当前取值,然后查询所述叶子节点对应的三元组;

如果查询所述叶子节点对应的三元组成功,则得到所述叶子节点中未知变量取值,或得到所述叶子节点中未知变量取值及新未知变量取值集合;

如果查询所述叶子节点对应的三元组失败,则返回到所述叶子节点中非新未知变量第一次出现的叶子节点并对其执行倒序遍历操作,操作完成后正序遍历下一个叶子节点;

所述查询树的最后一个节点正序遍历完成后,如果所有未知变量都得到取值,则正序遍历成功,将获得的未知变量的取值加入到正序遍历查询结果中。

优选地,所述以倒序方式自顶向下遍历所述查询树的每个叶子节点,得到倒序遍历查询结果包括:

获取当前倒序遍历的叶子节点;

如果所述叶子节点是最后一个叶子节点,则将所述最后一个叶子节点中的未知变量取值集合中未使用元素加入到倒序遍历查询结果中,然后遍历下一个叶子节点;

如果所述叶子节点不是正序遍历的最后一个叶子节点,则判断所述叶子节点是否包含新未知变量,并且新未知变量取值集合中包含未使用元素;

如果是,则从所述新未知变量取值集合中依次取一个未使用元素作为所述新未知变量的当前取值,然后从下一个叶子节点开始正序遍历所述查询树;如果否,则倒序遍历下一个叶子节点;

所述查询树的第一个节点倒序遍历完成后,将获得的未知变量的取值加入到倒序遍历查询结果中。

优选地,所述方法还包括:

如果有任一未知变量没有查询到对应的取值,则确定查询失败。

一种本体信息查询系统,包括:

接收模块,用于接收查询请求;

查询树构建模块,用于根据所述查询请求构建查询树;

查询模块,用于采用正序和倒序相结合的方式遍历所述查询树的每个叶子 节点,得到所述叶子节点中未知变量取值集合。

优选地,所述查询树构建模块包括:

语句转换单元,用于将所述查询请求转换为本体查询语句;

构建单元,用于根据所述本体查询语句构建查询树,所述本体查询语句中的每个三元组对应所述查询树中的一个叶子节点,所述叶子节点上记录三元组中的未知变量信息。

优选地,所述正序遍历方向为自下往上遍历,倒序遍历方向为自上往下遍历;

所述查询模块包括:

第一查询单元,用于以正序方式自下往上遍历所述查询树的每个叶子节点,得到正序遍历查询结果;

第二查询单元,用于在所述第一查询单元正序遍历结束后,有任意变量的取值集合中含有未使用元素时,从正序方式遍历的最后一个叶子节点开始,以倒序方式自顶向下遍历所述查询树的每个叶子节点,得到倒序遍历查询结果;

查询结果获得单元,用于根据所述正序遍历查询结果及倒序遍历查询结果,得到所述叶子节点中未知变量取值集合。

优选地,所述第一查询单元的查询过程如下:

获取当前正序遍历的叶子节点;

如果所述叶子节点是第一个叶子节点,则查询所述第一个叶子节点对应的三元组,得到所述第一个叶子节点中未知变量取值集合;

如果所述未知变量取值集合都不为空,则从所述未知变量取值集合中选取一个元素作为所述第一个叶子节点中所述未知变量的当前取值,然后遍历下一个叶子节点;

如果所述叶子节点不是第一个叶子节点,则获取所述叶子节点中非新未知变量的当前取值,然后查询所述叶子节点对应的三元组;

如果查询所述叶子节点对应的三元组成功,则得到所述叶子节点中未知变量取值,或得到所述叶子节点中未知变量取值及新未知变量取值集合;

如果查询所述叶子节点对应的三元组失败,则返回到所述叶子节点中非新未知变量第一次出现的叶子节点并对其执行倒序遍历操作,操作完成后正序遍 历下一个叶子节点;

所述查询树的最后一个节点正序遍历完成后,如果所有未知变量都得到取值,则正序遍历成功,将获得的未知变量的取值加入到正序遍历查询结果中。

优选地,所述第二查询单元的查询过程如下:

获取当前倒序遍历的叶子节点;

如果所述叶子节点是最后一个叶子节点,则将所述最后一个叶子节点中的未知变量取值集合中未使用元素加入到倒序遍历查询结果中,然后遍历下一个叶子节点;

如果所述叶子节点不是正序遍历的最后一个叶子节点,则判断所述叶子节点是否包含新未知变量,并且新未知变量取值集合中包含未使用元素;

如果是,则从所述新未知变量取值集合中依次取一个未使用元素作为所述新未知变量的当前取值,然后从下一个叶子节点开始正序遍历所述查询树;如果否,则倒序遍历下一个叶子节点;

所述查询树的第一个节点倒序遍历完成后,将获得的未知变量的取值加入到倒序遍历查询结果中。

优选地,所述查询模块还用于在遍历完成后,有任一未知变量没有查询到对应的取值时,确定查询失败。

本发明实施例提供的本体信息查询方法及系统,采用正序和倒序相结合的方法查找查询树的每个叶子节点中未知变量取值集合,查询过程不需要保存非叶子节点中未知变量的取值,只需将遍历过的叶子节点中未知变量取值集合保存一次,同时对取值集合中元素也只进行一次查找操作,从而可以大大节省查询时间,提高查询效率。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。

图1是本发明实施例本体信息查询方法的流程图;

图2是本发明实施例查询树的一个示例;

图3是本发明实施例中正序遍历查询树的流程图;

图4是本发明实施例中正序遍历查询树时,对第k个叶子节点的查询操作流程图;

图5是本发明实施例中倒序遍历查询树的流程图;

图6是本发明实施例中倒序遍历查询树时,对第q个叶子节点的查询操作流程图;

图7是本发明实施例本体信息查询系统的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明实施例的方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。

如图1所示,是本发明实施例自然语言语义理解方法的流程图,包括以下步骤:

步骤101,接收查询请求。

步骤102,根据所述查询请求构建查询树。

首先,将所述查询请求转换为本体查询语句,然后根据所述本体查询语句构建查询树。

具体地,将用户输入的查询请求转换为本体知识库支持的查询语句,如SPARQL查询语句,所述查询语句可以使用三元组的形式表示,所述三元组按照S-P-O(即Subject-Predicate-Object)的形式表示,具体转换方法可以使用自然语言理解的方法或人工的方法。

如用户输入的查询请求为“学生Alice选了哪个老师的课程”,转换后的SPARQL查询语句如下:

Select?teacher

Where{

?person name“Alice”.

?person type Student.

?person takesCourse?course.

?person teacherOf?course.

}

根据本体查询语句构建查询树的过程如下所述:

第一步:为本体查询语句中的每个三元组创建一个叶子节点,叶子节点中记录该三元组中的未知变量和已知变量,及已知变量的取值。将所有的叶子节点加入未处理节点集合。

第二步:如果两个节点之间有共同的未知变量,则增加一个新节点作为这两个节点的父节点,并将这两个节点的未知变量的并集作为父节点的未知变量。将这两个节点从未处理节点集合中删掉,并将父节点加入未处理节点集合。

第三步:重复第二步的过程,直到未处理节点集合中只包含一个节点为止。该节点即为树的根节点。

构建完成的查询树,兄弟节点之间含有共同的未知变量。如图2为根据上述查询语句构建的查询树,该查询树共有4个叶子节点,即L1、L2、L3、L4。查询树中每个叶子节点对应查询语句中的一个三元组,每个叶子节点中记录该三元组中的未知变量和已知变量,及已知变量的取值。

步骤103,采用正序和倒序相结合的方式遍历所述查询树,得到所述叶子节点中未知变量取值集合。

所述正序遍历方向为自下往上遍历,倒序遍历方向为自上往下遍历。在实际应用中,可以先进行正序遍历,再进行倒序遍历。在遍历过程中,保存每个未知变量第一次出现的叶子节点索引。具体的遍历过程将在后面详细说明。

在实际应用中,可以将查询结果返回给查询应用,和/或将查询结果展现给用户。当然,在对查询树遍历结束后,如果仍存在没有查询到相应取值的未知变量,则表明本次查询失败。在这种情况下,也可以向查询应用或用户返回查询失败的信息。

下面分别对两种遍历的具体过程进行详细说明。

如图3所示,为本发明实施例中正序遍历查询树的流程图,包括以下步骤:

步a1)获取查询树指定叶子节点。

步b1)判断所述叶子节点是否为查询树左下角的第一个叶子节点,如 果是,执行步c1);否则,执行步e1)。

步c1)查询第一个叶子节点对应的三元组,得到第一个叶子节点中未知变量取值集合。如果所述未知变量取值集合都不为空,从所述取值集合中取一个元素作为第一个叶子节点中所述未知变量的当前取值,执行步d1);否则,执行步i1)。

步d1)依次向上遍历到下一个叶子节点,假设为第k个叶子节点,执行步e1)。

步e1)对第k个叶子节点进行操作,具体操作过程如图4所示,包括:

步41)获取第k个叶子节点中非新未知变量的当前取值,所述非新未知变量是指在查询树中第k个叶子节点之前的节点中出现过的未知变量,然后执行步42)。

步42)查询第k个叶子节点对应的三元组。如果查询成功,得到所述叶子节点未知变量取值或未知变量取值及新未知变量取值集合(所述叶子节点含有新未知变量),则执行步d1);如果查询失败,执行步43)。

步43)从第k个叶子节点中非新未知变量第一次出现的叶子节点开始倒序遍历。

步f1)判断是否遍历到查询树的最后一个叶子节点。如果是,说明本次正序遍历已结束,执行步g1);否则,执行步d1)。

步g1)判断本次正序遍历的所有未知变量是否都得到取值,如果得到,执行步h1);否则,执行步i1)。

步h1)所有未知变量都得到一个取值,本次正序遍历结束,将未知变量取值加入最终查询结果中。然后从最后一个叶子节点开始执行倒序遍历。

步i1)存在未知变量未得到取值,查询失败。

倒序遍历是从查询树的某个指定节点依次向下遍历到第一个叶子节点的过程。正序遍历过程中,有些未知变量取值集合中的元素并未被使用,需要通过倒序遍历的方式将这些元素找出,然后再结合正序遍历的结果,判断所述未被使用元素是否可以加入最终查询结果。

如图5所示,为本发明实施例中倒序遍历查询树的流程图,包括以下步骤:

步a2)获取查询树指定叶子节点。

步b2)判断所述叶子节点是否为最后一个叶子节点。如果是,则执行步c2);否则,执行步f2)。

步c2)判断叶子节点是否含有未知变量取值集合。如果是,则执行步d2);否则,执行步e2)。

步d2)将未知变量取值集合中未使用的元素直接加入最终查询结果中,执行步e2)。

步e2)依次向下遍历到下一个叶子节点,假设为第q个叶子节点,执行步f2)。

步f2)第q个叶子节点最终可以向下取到第1个叶子节点,对第q个叶子节点进行操作,具体操作过程如图6所示,包括:

步61)判断第q个叶子节点是否含有新未知变量。如果是,则执行步62);否则,执行步e2)。

步62)判断第q个叶子节点新未知变量取值集合中是否含有未使用过的元素。如果是,则执行步63);否则,执行步e2)。

步63)从第q个叶子节点新未知变量取值集合中依次取一个未使用过的元素,作为第q个叶子节点新未知变量的当前取值,从第q+1个节点开始正序遍历。

步g2)判断第一个叶子节点是否遍历结束。如果是,则执行步h2);否则,执行步e2)。

步h2)倒序遍历结束,判断最终查询结果中是否所有未知变量都有相应取值。如果是,则执行步i2);否则,执行步j2)。

步i2)所有未知变量都有相应取值,最终查询成功。

步j2)存在未知变量没找到相应取值,最终查询失败。

下面进一步举例说明本发明实施例中对查询树的遍历过程。

如图2所示,为“学生Alice选了哪个老师的课程”构建的查询树,所述查询树共有4个叶子节点,使用本发明实施例的方法查找叶子节点中未知变量取值集合的过程如下:

正序遍历:L1->L3->L2->L4

(1)找到查询树左下第一个叶子节点L1,叶子节点L1包含一个未知变 量,查询叶子节点L1对应的三元组,得到未知变量?person的取值集合{P1}={p11,p12,p13,p14},取p11作为未知变量?person的当前取值。

(2)依次向上遍历到叶子节点L3,叶子节点L3中含有非新未知变量?person及新未知变量?course,将p11赋值给叶子节点L3中的非新未知变量?person,此时叶子节点L3只含有一个未知变量?course,查询叶子节点L3对应的三元组;如果查询成功,得到叶子节点L3未知变量?person的取值p11及未知变量?course的取值集合{C1}={c11,c12,c13};如果查询失败,则返回到未知变量?person第一次出现的叶子节点L1,对叶子节点L1执行倒序遍历操作,即向后取集合{P1}中的未使用元素p12作为未知变量?person的当前取值。假设未知变量?person的当前取值为p12时,查询叶子节点L3对应的三元组成功,得到未知变量?person的取值为p12及未知变量?course的取值集合{C2}={c21,c22}。

(3)依次向上遍历到叶子节点L2,获取到叶子节点L2中含有非新未知变量?person,将p12赋给叶子节点L2中非新未知变量?person,此时叶子节点L2不再含有未知变量,查询叶子节点L2对应的三元组;如果查询成功,得到叶子节点L2中未知变量?person的取值p12;如果查询失败,则返回到未知变量?person第一次出现的叶子节点L1,对叶子节点L1执行倒序遍历操作。假设未知变量?person的当前取值为p13时,查询叶子节点L3对应的三元组成功,得到非新未知变量?person的取值为p13及未知变量?course的取值集合{C3}={c31,c32,c33},将c31作为未知变量?course的当前取值;查询叶子节点L2对应的三元组成功,未知变量?person取值为p13。

(4)依次向上遍历到叶子节点L4,叶子节点L4含有新未知变量?teacher及非新未知变量?course,将c31赋值给叶子节点L4中的非新未知变量?course,此时叶子节点L4含有一个未知变量?teacher,查询叶子节点L4对应的三元组。如果查询成功,则得到叶子节点L4中未知变量?course的取值c31及未知变量?teacher的取值集合{T1}={t11,t12,t13};如果查询失败,则返回到非新未知变量?course第一次出现的叶子节点L3,对叶子节点L3执行倒序遍历操作。假设未知变量?course的当前取值为c32时,查询叶子节点L4对应的三元组成功,得到叶子节点L4包含的未知变量?course的取值c32及未知变量?teacher 的取值集合{T2}={t21,t22,t23},取t21为?teacher的当前取值。

(5)完成一次正序遍历查询,得到正序遍历查询结果如下:

?person={p13}

?course={c32}

?teacher={t21}

所有未知变量都有取值,正序遍历成功。

正序遍历查询结束后,变量?person的取值集合{P1},变量?course的取值集合{C3},变量?teacher的取值集合{T1}中都含有未使用元素,需要通过倒序遍历将这些取值找出,然后结合正序遍历验证未使用元素是否可以加入最终查询结果。

倒序遍历:L4->L2->L3-L1

(1)找到查询树最后一个叶子节点L4,叶子节点L4含有未知变量?teacher的取值集合{T2},直接将{T2}中未使用元素t22,t23加入到倒序遍历查询结果中。

(2)依次向下查找到叶子节点L2,叶子节点L2中不含有新未知变量。

(3)依次向下查找到叶子节点L3,叶子节点L3中含有新未知变量?course,新未知变量?course的取值集合为{C3},其中含有未使用元素c33,将c33作为未知变量?course的当前取值,从叶子节点L2开始正序遍历,正序遍历到叶子节点L4。假设查询成功,得到未知变量?course取值c33及未知变量?teacher取值集合{T3}={t31},将未知变量?course取值c33及未知变量?teacher取值t31加入到倒序遍历查询结果中。然后将t31作为变量?teacher当前取值,从叶子节点L4再次进行倒序遍历到叶子节点L3,叶子节点L3中不含有未使用元素。

(4)依次向下遍历到叶子节点L1,叶子节点L1含有新未知变量?person,其取值集合{P1}中含有未使用元素p14,将p14作为变量?person的取值,直接从叶子节点L3开始正序遍历,查找叶子节点L3对应的三元组,假设查询失败。

(5)叶子节点L1中不再含有未使用元素,并且叶子节点L1为查询树第一个叶子节点,倒序遍历结束,得到倒序遍历查询结果如下:

?course={c33}

?teacher={t22,t23,t31}

综合上述正序遍历查询结果及倒序遍历查询结果,得到最终查询结果,如下所示:

?person={p13}

?course={c32,c33}

?teacher={t21,t22,t23,t31}

需要说明的是,在实际应用中,如果有任一未知变量没有查询到对应的取值时,则说明查询失败。在这种情况下,可以返回相应的消息或提示信息,比如,如果是面向其它应用的查询,可以向该应用返回相应的消息;如果是面向用户的查询,可以向用户展现“查询失败”等提示信息。

可见,本发明实施例提供的本体信息查询方法,采用正序和倒序相结合的方法查找查询树的每个叶子节点中未知变量取值集合,未知变量第一次出现的叶子节点中保存所述未知变量的取值或取值集合,从取值集合中取一个元素,作为未知变量的当前取值,当所述未知变量在其它叶子节点中再次出现时,只需保存当前取值即可。查询过程不需要保存非叶子节点中未知变量的取值,只需将遍历过的叶子节点中未知变量取值集合保存一次,同时对取值集合中元素也只进行一次查找操作,从而可以大大节省查询时间,提高查询效率,降低对内存的消耗。

相应地,本发明实施例还提供一种本体信息查询系统,如图7所示,是本发明实施例本体信息查询系统的结构示意图。

在该实施例中,所述系统包括:

接收模块701,用于接收查询请求;

查询树构建模块702,用于根据所述查询请求构建查询树;

查询模块703,用于采用正序和倒序相结合的方式遍历所述查询树的每个叶子节点,得到所述叶子节点中未知变量取值集合。

上述查询树构建模块702可以包括:语句转换单元、以及构建单元。其中:

所述语句转换单元用于将所述查询请求转换为本体查询语句,该本体查询语句是所要查询的本体知识库能够支持的查询语句,如SPARQL查询语句, 具体转换方法可以使用自然语言理解的方法等。

所述构建单元用于根据所述本体查询语句构建查询树,所述本体查询语句中的每个三元组对应所述查询树中的一个叶子节点,所述叶子节点上记录三元组中的未知变量信息。

在实际应用中,所述正序遍历方向为自下往上遍历,倒序遍历方向为自上往下遍历。

所述查询模块703的一种具体结构包括:

第一查询单元,用于以正序方式自下往上遍历所述查询树的每个叶子节点,得到正序遍历查询结果;

第二查询单元,用于在所述第一查询单元正序遍历结束后,有任意变量的取值集合中含有未使用元素时,从正序方式遍历的最后一个叶子节点开始,以倒序方式自顶向下遍历所述查询树的每个叶子节点,得到倒序遍历查询结果;

查询结果获得单元,用于根据所述正序遍历查询结果及倒序遍历查询结果,得到所述叶子节点中未知变量取值集合。

上述第一查询单元和第二查询单元的具体查询过程可参见前面本发明方法实施例中的描述,在此不再赘述。

另外,在实际应用中,如果上述第一查询单元和第二查询单元查询到有任一未知变量没有对应的取值时,则查询模块703还可以确定查询失败。在这种情况下,查询模块703可以返回相应的消息或提示信息,比如,如果是面向其它应用的查询,查询模块703可以向该应用返回相应的消息;如果是面向用户的查询,在所述系统中还可设置显示模块,在确定查询失败后,查询模块703可以通过显示模块向用户展现“查询失败”等提示信息。

本发明实施例提供的本体信息查询系统,采用正序和倒序相结合的方法查找查询树的每个叶子节点中未知变量取值集合,查询过程不需要保存非叶子节点中未知变量的取值,只需将遍历过的叶子节点中未知变量取值集合保存一次,同时对取值集合中元素也只进行一次查找操作,从而可以大大节省查询时间,提高查询效率,降低对内存的消耗。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之 处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上对本发明实施例进行了详细介绍,本文中应用了具体实施方式对本发明进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及系统;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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