CN110413797B - 不定长嵌套结构的最大语义保持的匿名类解析存储方法 - Google Patents
不定长嵌套结构的最大语义保持的匿名类解析存储方法 Download PDFInfo
- Publication number
- CN110413797B CN110413797B CN201910599094.1A CN201910599094A CN110413797B CN 110413797 B CN110413797 B CN 110413797B CN 201910599094 A CN201910599094 A CN 201910599094A CN 110413797 B CN110413797 B CN 110413797B
- Authority
- CN
- China
- Prior art keywords
- class
- uri
- anonymous
- stack
- anonymous class
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/355—Class or cluster creation or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Computational Linguistics (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种不定长嵌套结构的最大语义保持的匿名类解析存储方法,首先进行匿名类的分层解析,包括对类操作形成的匿名类的解析方法以及属性限制形成的匿名类的解析方法,根据定位到的匿名类信息,对其结构进行拆解,在保留语义特征的前提下进行解析存储;然后进行匿名类的命名方法,匿名类在本体中没有明确标识,本发明根据解析到的结构信息,对匿名类进行命名,即在名称中保留匿名类的部分语义信息。本发明通过对本体中匿名类的定位、解析以及向图模型的映射,完整地保留了其语义信息,为后期图数据库中知识的关联查询提供完整的基础数据。
Description
技术领域
本发明属于知识图谱与本体论技术领域,具体涉及一种针对不定长嵌套结构的最大语义保持的匿名类解析存储方法。
背景技术
知识图谱是由一些相互连接的实体和它们的属性构成的。2012年5月,谷歌在本体的基础上提出“知识图谱”的概念,扩展了本体的实体及其之间的关系。使得用户的搜索信息对应客观世界的实体,而不仅仅是一个字符串。谷歌利用知识图谱实现了问答系统的功能,返回给用户一个准确的答案,而不仅仅是一系列链接。2012年11月,搜狗推出国内最早的知识图谱--搜狗知立方。2013年2月,百度推出知识图谱百度知心。
本体是共享概念模型的明确的形式化规范说明,它包含4层含义:概念模型、明确、形式化和共享。本体具有良好的概念层次结构和对逻辑推理的支持,利用本体的这些特性可以构建较为深层的语义关联网络,挖掘丰富的隐含信息,更为全面地描述用户需求,实现领域内的语义信息共享和互操作。在形式化描述方面,本体作为一种知识建模工具,主要包括六种基本建模元语<C,R,F,X,L,I>:
1)类(C):知识表示中核心内容,表示某个抽象的概念,是具体事物的一种聚合和抽象;
2)关系(R):表示类与类之间、类与事物之间、事物与事物之间的相互关系、相互作用;
3)函数(F):表示类之间的相互关系,是一种特殊类型的关系,由前n-1个前提可推出第n个结论;
4)公理(X):表示绝对真实的语句,描述实体之间的真理性关系;
5)规则(L):表示知识之间的逻辑关系;
6)实例(I):表示类的具象化,现实中各种事物。
本体是知识图谱的核心内容,构建知识图谱的关键一步就是概念体系的构建,也就是相关本体的信息融合和数据库导入。目前常见的是将本体导入图数据库,图数据库的图结构与本体概念之间的网状结构可以很好的匹配。大部分图数据库都是遵循属性图模型的。一个属性图是由顶点(Vertex),边(Edge),标签(Label),关系类型(Type)和属性(Property)组成的有向图。顶点也称作节点(Node),边也称作关系(Relationship)。所有的节点是独立存在的,为节点设置标签,那么拥有相同标签的节点属于一个分组,一个集合;关系通过关系类型来分组,类型相同的关系属于同一个集合。节点可有零到多个标签,但是关系必须设置关系类型,并且只能设置一个关系类型。关系是有向的,关系的两端是起始节点和结束节点,通过有向的箭头来标识方向,节点之间的双向关系通过两个方向相反的关系来标识。节点、关系都具有自己的属性集合。该集合可以为空,如果不为空,则每条属性以键值对的形式存储。
本体中基本的实名类、关系、实公理等可以很容易地与图数据库中的节点与边对应,但是本体中的类不仅仅只有包含已定义URI的实名类,另外一种是通过类间操作、属性限制或者两者嵌套构成的没有命名的中间概念,即匿名类。匿名类虽然没有自己的URI,但是它同样蕴含着丰富的语义信息,甚至包含比实名类更加复杂的语义信息。它们可能存在于属性关系或者类公理中。在属性关系中,通过匿名类来描述复杂的定义域、值域概念;在类公理中,往往通过匿名类来表示一个实名类的父类或等价类。而且,随着知识量的不断增长以及知识之间关联性的增加,本体中概念之间的语义关系越来越复杂,需要使用到匿名类的地方越来越多,在复杂的关系、公理描述中可能涉及匿名类。由类之间操作、属性限制嵌套构成的匿名类,存储时需要根据描述的语义,合理地在图数据库中构造匿名类的节点。
如表1所示,本体中定义匿名类的方式有以下6种:以类的交集操作的形式(intersectionOf);以类的并集操作形式(unionOf);以类的补集形式(complementOf);以枚举实例的形式(oneOf);以值约束的形式和以基数约束的形式(Restriction)。
表1 OWL中匿名类涉及的标记
但是,很多匿名节点不仅仅是单一的类间操作或者单一的属性限制可以描述的,描述一个匿名类可能会涉及第二个、第三个甚至更多的匿名类,从而形成一种长度不确定的嵌套结构,而且类间操作涉及的类的个数也是可变的,将这些结构信息不确定的语义片段解析成图是匿名类处理的难点。
发明内容
针对上述存在的技术问题,本发明提出一种针对不定长嵌套结构的最大语义保持的匿名类解析存储方法。
本发明所采用的技术方案是:一种不定长嵌套结构的最大语义保持的匿名类解析存储方法,其特征在于,包括:
步骤1:定位本体中的匿名类;
检查本体各个类结构中是否出现了与类操作或属性限制相关的标签;
若是,则执行步骤2;
若否,则该类一定是一个实名类,具有自己的URI,所以在图数据库中直接以该URI为唯一标识创建节点;
其中,匿名类、实名类均存放在图数据库中;
步骤2:匿名类结构分析;
对于捕获到的匿名类结构,逐层分析其包含的类操作或属性限制标签以及URI信息;首先将匿名类结构中的所有信息都读入栈结构中,然后从栈顶依次弹出进行解析存储。
作为优选,步骤2中,对每个弹出的元素tmp,进行以下处理;其中,tmp是一个URI、一个类操作的标签、或一个属性限制;
如果tmp是一个URI,则为标识关系的URI或标识概念的URI;首先假定tmp是一个标识概念的URI,将它作为一个节点存储在图数据库中,并将该URI压入另一个栈tmpStack中;通过后面弹出的元素进一步确定该URI是标识概念还是标识关系;如果该URI根据后面弹出的元素判定为标识关系,则删除错误创建的概念节点;
如果tmp是一个类操作的标签,则根据以下子步骤生成一个匿名类;
步骤2A.1:根据匿名类命名规则创建一个属于该匿名类的URI,记为anonimyURI,并创建节点,并将该URI压入另一个栈tmpStack中;
步骤2A.2:逐个取出栈tmpStack中的所有元素tmpURI1,tmpURI2,…,tmpURIn;
步骤2A.3:对于每个元素tmpURIi,i∈[1..n],依据tmpURIi在图数据库找到相应节点,建立其与anonimyURI节点连接边;
步骤2A.4将anonimyURI压入栈tmpStack中;
如果tmp是一个属性限制,则根据以下子步骤生成一个匿名类;
步骤2B.1:根据匿名类命名规则创建一个属于该匿名类的URI,记为anonimyURI,并创建节点,并将该URI压入另一个栈tmpStack中;
步骤2B.2:逐个取出栈tmpStack中栈顶两个元素tmpURI1,tmpURI2;其中,栈tmpStack中至少存在两个元素tmpURI1,tmpURI2,…,tmpURIn;
tmpURI1为关系URI,根据URI在图数据库中删除错误创建的节点;
tmpURI2为关系的值域,在图数据库中建立anonimyURI和tmpURI2的连接边;
步骤2B.3:将anonimyURI压入栈tmpStack中。
作为优选,步骤2A.1或步骤2B.1中,假设匿名类的初始是空字符串,记为anonimyName,则匿名类的命名规则包括以下子步骤:
1)复制栈tmpStack内容到栈nameStack作为本体命名使用;
2)取产生当前匿名类的标签中的首字母和大写字母作为anonimName的第一部分;
3)依次弹出nameStack中的元素,对于栈内元素进行如下操作:
首先在anonimyName后面添加下划线“_”作为分隔;然后判断,如果元素是一个匿名类URI,则将其名称作为anonimyName的下一部分;如果元素是其它URI,则将其首字母提取作为anonimyName的下一部分;
4)将本体文件的基础URI与anonimyName拼接得到anonimyURI并返回。
本发明具有以下优点和积极效果:
1)最大程度上保证语义信息。本发明将匿名类的信息完全展开,通过匿名类信息本发明获得了更完整的类与类之间的关系,更加清楚某个概念的具体特性和含义。
2)图数据库中关系查询。匿名类的展开增加了概念之间的关联性,有助于图数据库中经路径查询得到更多的语义信息。
3)匿名节点包含语义信息。本发明的命名方式蕴含着匿名类相应的结构信息,给匿名类提供命名方式不仅唯一标识了匿名类的节点,同时,通过名称本发明可以得到组成该匿名类的结构信息,主要是反映出匿名类如何由类操作、属性限制进行嵌套组成。
附图说明
图1为本发明实施例的流程图;
图2为本发明实施例的匿名类命名流程图;
图3为本发明实施例的匿名类存储例子;
图4为本发明实施例的匿名类例子存储过程中栈的变化示意图;
图5为本发明实施例的匿名类例子存储过程中图的变化示意图。
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
请见图1、2、3,本实施例中,travel.owl中对BackpackersDestination概念的描述,它的等价类是一个匿名类,该匿名类由一个并集操作、一个交集操作和两个属性限制嵌套构成,所以在这个描述中一共涉及4个匿名类,也就需要在图数据库中至少创建4个节点,本实施例也正是创建了4个匿名节点。
BackpackersDestination<equivalentClass<intersectionOf<Destination,restriction<hasAccomodation,budgetAccomodation>,restriction<hasActivity,unionOf<Adventur e,Sports>>>>>
具体来说,对于该匿名类片段,按照本发明的存储方法,步骤如下:
step0:将片段拆分并压入栈1中,以下开始对栈1操作;
step1:栈1顶部两个元素为Sports和Adventure,它们在本体中具有URI标识,依次从栈1弹出并压入栈2,然后在数据库中生成节点;
step2:弹出栈1栈顶元素,unionOf为类操作,取unionOf、Adventure和sports的首字母,生成匿名类的节点u_A_S,并依次与Adventure和Sports节点相连,然后将u_A_S压入栈2;
step3:弹出栈1栈顶元素hasActivity,并压入栈2,然后在数据库中生成节点;
step4:弹出栈1栈顶元素,restriction为属性限制,生成匿名节点h_u_A_S;然后需要将栈2的栈顶元素取出并删除相应的节点,然后继续弹出栈2元素h_A_S,连接h_u_A_S和h_A_S节点并将h_u_A_S压入栈2;
step5:栈1顶部两个元素为budgetAccomodation和hasAccomodation,依次从栈1弹出并压入栈2,然后在数据库中生成节点;
step6:弹出栈1栈顶元素,restriction为属性限制,生成匿名节点h_B;然后需要将栈2的栈顶元素取出并删除相应的节点,然后继续弹出栈2元素budgetAccomodation,连接h_B和budgetAccomodation节点并将h_B压入栈2;
step7:弹出栈1栈顶元素Destination,并压入栈2,然后在数据库中生成节点;
step8:弹出栈1栈顶元素,intersectionOf为类操作,生成匿名类的节点i_D_h_B_h_A_S,并依次与栈2中的节点Destination,h_B,h_A_S相连,然后将i_D_h_B_h_u_A_S压入栈2;
step9:栈1最后两个元素分别为类公理以及类公理描述的类,所有通过equivalentClass边将BackpackersDestination与栈2元素i_D_h_B_h_u_A_S相连;该片段匿名类处理结束,两个栈均已弹空且图模型已生成。
请见图4、图5,分别为存储过程中两个栈的变化以及数据库中相关图形的变化。
应当理解的是,本说明书未详细阐述的部分均属于现有技术。
应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。
Claims (2)
1.一种不定长嵌套结构的最大语义保持的匿名类解析存储方法,其特征在于,包括:
步骤1:定位本体中的匿名类;
检查本体各个类结构中是否出现了与类操作或属性限制相关的标签;
若是,则执行步骤2;
若否,则该类一定是一个实名类,具有自己的URI,所以在图数据库中直接以该URI为唯一标识创建节点;
其中,匿名类、实名类均存放在图数据库中;
步骤2:匿名类结构分析;
对于捕获到的匿名类结构,逐层分析其包含的类操作或属性限制标签以及URI信息;首先将匿名类结构中的所有信息都读入栈结构中,然后从栈顶依次弹出进行解析存储;
其中,对每个弹出的元素tmp,进行以下处理;其中,tmp是一个URI、一个类操作的标签、或一个属性限制;
如果tmp是一个URI,则为标识关系的URI或标识概念的URI;首先假定tmp是一个标识概念的URI,将它作为一个节点存储在图数据库中,并将该URI压入另一个栈tmpStack中;通过后面弹出的元素进一步确定该URI是标识概念还是标识关系;如果该URI根据后面弹出的元素判定为标识关系,则删除错误创建的概念节点;
如果tmp是一个类操作的标签,则根据以下子步骤生成一个匿名类;
步骤2A.1:根据匿名类命名规则创建一个属于该匿名类的URI,记为anonimyURI,并创建节点,并将该URI压入另一个栈tmpStack中;
步骤2A.2:逐个取出栈tmpStack中的所有元素tmpURI1, tmpURI2,…, tmpURIn;
步骤2A.4 将anonimyURI压入栈tmpStack中;
如果tmp是一个属性限制,则根据以下子步骤生成一个匿名类;
步骤2B.1:根据匿名类命名规则创建一个属于该匿名类的URI,记为anonimyURI,并创建节点,并将该URI压入另一个栈tmpStack中;
步骤2B.2:逐个取出栈tmpStack中栈顶两个元素tmpURI1, tmpURI2;其中,栈tmpStack中至少存在两个元素tmpURI1, tmpURI2,…, tmpURIn;
tmpURI1为关系URI,根据URI在图数据库中删除错误创建的节点;
tmpURI2为关系的值域,在图数据库中建立anonimyURI和tmpURI2的连接边;
步骤2B.3:将anonimyURI压入栈tmpStack中。
2.根据权利要求1所述的不定长嵌套结构的最大语义保持的匿名类解析存储方法,其特征在于:步骤2A.1或步骤2B.1中,假设匿名类的初始是空字符串,记为anonimyName,则匿名类的命名规则包括以下子步骤:
1)复制栈tmpStack内容到栈nameStack作为本体命名使用;
2)取产生当前匿名类的标签中的首字母和大写字母作为anonimName的第一部分;
3)依次弹出nameStack中的元素,对于栈内元素进行如下操作:
首先在anonimyName后面添加下划线“_”作为分隔;然后判断,如果元素是一个匿名类URI,则将其名称作为anonimyName的下一部分;如果元素是其它URI,则将其首字母提取作为anonimyName的下一部分;
4)将本体文件的基础URI与anonimyName拼接得到anonimyURI并返回。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910599094.1A CN110413797B (zh) | 2019-07-04 | 2019-07-04 | 不定长嵌套结构的最大语义保持的匿名类解析存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910599094.1A CN110413797B (zh) | 2019-07-04 | 2019-07-04 | 不定长嵌套结构的最大语义保持的匿名类解析存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110413797A CN110413797A (zh) | 2019-11-05 |
CN110413797B true CN110413797B (zh) | 2023-01-03 |
Family
ID=68360336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910599094.1A Active CN110413797B (zh) | 2019-07-04 | 2019-07-04 | 不定长嵌套结构的最大语义保持的匿名类解析存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110413797B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572970A (zh) * | 2014-12-31 | 2015-04-29 | 浙江大学 | 一种基于本体库内容的sparql查询语句生成系统 |
US10019537B1 (en) * | 2014-11-18 | 2018-07-10 | Comindware Ltd. | System and method for data search in a graph database |
-
2019
- 2019-07-04 CN CN201910599094.1A patent/CN110413797B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10019537B1 (en) * | 2014-11-18 | 2018-07-10 | Comindware Ltd. | System and method for data search in a graph database |
CN104572970A (zh) * | 2014-12-31 | 2015-04-29 | 浙江大学 | 一种基于本体库内容的sparql查询语句生成系统 |
Non-Patent Citations (4)
Title |
---|
A Storage Method of Ontology Based on Graph Database;Zhang Hui等;《Fourth International Conference on Information Science and Cloud Computing (ISCC2015)》;20151231;全文 * |
Smart RDF Data Storage in Graph Databases;Roberto De Virgilio等;《2017 17th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGRID)》;20170517;全文 * |
基于Neo4j的领域本体存储方法研究;王红等;《计算机应用研究》;20170831;第34卷(第8期);全文 * |
本体存储方法;张慧等;《北京信息科技大学学报(自然科学版) 》;20160630;第31卷(第3期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110413797A (zh) | 2019-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110941612B (zh) | 基于关联数据的自治数据湖构建系统及方法 | |
CN108268580A (zh) | 基于知识图谱的问答方法及装置 | |
Bergamaschi et al. | Combining user and database perspective for solving keyword queries over relational databases | |
CN103646032A (zh) | 一种基于本体和受限自然语言处理的数据库查询方法 | |
Lima et al. | Application modeling for the semantic web | |
CN111026874A (zh) | 知识图谱的数据处理方法及服务器 | |
Taheriyan et al. | Leveraging linked data to discover semantic relations within data sources | |
CN104092744B (zh) | 基于记忆化服务簇映射目录的Web服务发现方法 | |
CN109086434B (zh) | 一种基于主题图的知识聚合方法及系统 | |
Wardani et al. | Semantic mapping relational to graph model | |
Liu et al. | Data integration in fuzzy XML documents | |
KR20200082179A (ko) | 공간 데이터의 의미론적 주석을 위한 데이터 변환 방법 | |
Barret et al. | Exploring heterogeneous data graphs through their entity paths | |
Gunaratna et al. | Alignment and dataset identification of linked data in semantic web | |
CN110413797B (zh) | 不定长嵌套结构的最大语义保持的匿名类解析存储方法 | |
Hakimpour et al. | Resolution of semantic heterogeneity in database schema integration using formal ontologies | |
RU2605387C2 (ru) | Способ и система для хранения данных графов | |
Gujral et al. | Knowledge Graphs: Connecting Information over the Semantic Web | |
Jouanot et al. | Context comparison for object fusion | |
Nugraheni et al. | Framework of semantic data warehouse for heterogeneous and incomplete data | |
Wang et al. | Notice of Retraction: Design and implementation of curriculum resource management model based on domain ontology | |
Saleem | Semantic Web Vision: survey of ontology mapping systems and evaluation of progress | |
Yang et al. | Derivation of OWL Ontology from XML Documents by Formal Semantic Modeling. | |
Zhou et al. | Knowledge Systems for Coalition Operations KSCO 2017 | |
Silva | A semantic search component for smart city applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |