首页> 中国专利> 基于语义网络技术的IFC数据管理系统和方法

基于语义网络技术的IFC数据管理系统和方法

摘要

本发明公开了一种基于语义网络技术的IFC数据管理系统和方法包括:IFC文件读取器,IFC文件输出器,IFC‑ifcOWL数据转换模块,ifcOWL数据存储模块,数据查询模块,数据修改模块,数据删除模块,用户交互模块,支持对IFC数据的查询、修改、删除等操作。用户不需要理解IFC数据的格式,即可对IFC数据进行管理,有利于提升对IFC数据的利用效率。解决了IFC数据的查询问题和IFC数据的修改与删除问题。本发明将IFC数据转换成ifcOWL数据,利用语义网络的技术对数据进行查询,并支持条件查询。本发明将IFC数据转换成ifcOWL数据,由于缺乏方法将ifcOWL数据转换成IFC数据。本发明提出一种为每个数据赋予一个唯一的识别号的方法解决这个问题,支持修改和删除查询指定的数据。

著录项

  • 公开/公告号CN112559455A

    专利类型发明专利

  • 公开/公告日2021-03-26

    原文格式PDF

  • 申请/专利权人 中设数字技术股份有限公司;

    申请/专利号CN202011525261.7

  • 发明设计人 李伯宇;孙屹;文盼;

    申请日2020-12-22

  • 分类号G06F16/16(20190101);G06F16/14(20190101);G06F16/25(20190101);G06F16/23(20190101);G06F16/24(20190101);G06F16/242(20190101);G06F16/248(20190101);

  • 代理机构11633 北京中理通专利代理事务所(普通合伙);

  • 代理人胡耀成

  • 地址 430056 湖北省武汉市汉南区武汉经济技术开发区华人汇和科技园(华中智谷)项目一期工程第E4栋10层1号房

  • 入库时间 2023-06-19 10:24:22

说明书

技术领域

本发明属于IFC数据管理领域,具体设计一种基于语义网络技术的IFC数据管理系统和方法。

背景技术

我国在政府的大力支持引导下,建筑信息模型化(BuidingInformationModeling,简称BIM)技术正进入深入应用和产生实效阶段。同时在应用过程中遇到了许多阻碍,其中BIM数据的互通性就是亟需解决的问题之一。不同领域的用户会选择不同的软件去实现该领域的需求,同时也需要和其他领域的用户合作,然而每个领域都有特定的专业知识,而且不同的软件有不同的文件格式,传统的数据交换模式往往基于软件开发者自己指定的数据标准进行交互和集成,例如Autodesk公司定义了.rvt数据格式,Autodesk开发的针对建筑设计领域的软件Revit Architecture,针对结构设计领域的软件RevitStructure和针对设备管线设计领域的Revit MEP均可以导入导出.rvt文件,实现数据的交换。不同公司开发的BIM软件,往往缺乏一致的数据标准,很难做到无损导出导入,从而形成一个数据孤岛。

为解决此问题,buildingSMART组织提出了IFC(IndustryFoundation Class)数据标准来支持BIM数据的分享和交换。IFC数据标准采用EXPRESS Schema定义了建筑领域中的各类实体、属性以及关系,为BIM数据提供了数据表达与数据交换的通用标准,IFC标准也在一直发展,buildingSMART在不断推出更加完善的版本,同时越来越多的BIM软件开始支持导入导出IFC数据。

IFC数据通常是.ifc为后缀的文本文件,可以使用一般的文本编辑器即可打开.ifc文件,但是IFC文件缺乏可读性,不熟悉IFC标准的人很难理解其包含的数据,这通常需要使用支持IFC标准的建筑软件导入该数据,然后才可以看到其包含数据内容,这会带来如下几个问题:

1.缺乏有效的工具对IFC数据进行一些统计分析的时候,例如统计该IFC数据中包括了多少扇窗户等等信息。

2.缺乏有效的工具对IFC数据进行修改,比如修改一扇门的高度,这些需要使用建筑软件导入IFC按数据得到BIM模型然后再进行操作,这个过程无疑是费时且复杂的。

3.缺乏有效的工具对IFC数据中多余的数据进行删除。近年来,语义网络技术得到快速地发展,应用在越来越多的领域,例如,研发新药、临床诊断等。语义网络(semanticnetwork)是一种用图来表示知识的结构化方式。是一个语义网络中,信息被表达为一组结点,结点通过一组带标记的有向直线彼此相连,用于表示结点间的关系。语义网络的特点是:(1)可以深层次地表示知识,包括实体结构、层次及实体间的因果关系;(2)推理的非有规则,无推理规律可循;(3)知识表达的自然性直接从语言语句强化而来。因此具有以下优点包括直接而明确地表达概念的语义关系,模拟人的语义记忆和联想方式;可利用语义网络的结构关系检索和推理,效率高。

本发明提出基于语义技术的IFC数据管理系统和方法,解决IFC数据难以查询、修改等问题。

发明内容

本发明所要解决的技术问题是提供一种基于语义网络技术的IFC数据管理系统,它包括:IFC文件读取器,用于将IFC数据读入到内存中,根据文件特征创建唯一识别号;IFC文件输出器,用于将内存中的IFC数据输出后缀为.ifc的文件;IFC-ifcOWL数据转换模块,用于将IFC数据转换为ifcOWL数据,结合本体和IFC-ifcOWL映射关系库将IFC数据转换成ifcOWL数据,每一条数据具有识别号;ifcOWL数据存储模块,用于将从IFC数据转换而来ifcOWL数据存储在TDB2数据库中;数据查询模块,用于对已存储数据进行查询;数据修改模块,用于修改ifcOWL数据以及IFC数据中指定的一条或多条数据,通过Jena提供的API对存在的ifcOWL数据进行修改,再根据识别号定位到该数据IFC数据中位置,对IFC数据进行修改;数据删除模块,用于删除ifcOWL数据以及IFC数据中指定的一条或多条数据,通过Jena提供的API对存在的ifcOWL数据进行删除,再根据识别号定位到该数据IFC数据中位置,对IFC数据进行删除;用户交互模块,提供包括数据导入、选择查询条件并显示查询结果、修改指定数据、删除指定数据、显示系统状态的可视化交互界面。

进一步地,数据转换模块包括ifcOWL本体,IFC-ifcOWL映射关系库,IFC文件记录器,IFC-ifcOWL转换器。

进一步地,数据查询模块包括预定义查询语句库和完整查询语句生成器。

进一步地,数据修改模块包括ifc数据修改器和IFC数据修改器。

进一步地,数据删除模块包括ifcOWL数据删除器和IFC数据删除器。

本发明所要解决的另一技术问题是提供一种基于语义网络技术的IFC数据管理方法,它包括以下步骤:

S1.将IFC数据文件读入内存中,根据文件特征创建唯一识别号,结合本体和IFC-ifcOWL映射关系库将IFC数据转换成ifcOWL数据,每一条数据具有识别号,将ifcOWL数据以TDB2数据库存储;

S2.ifcOWL数据查询,指定查询条件基于TDB2数据存储的ifcOWL数据上执行生成的SPARQL语句,结果在用户交互界面中显示;

S3.IFC数据修改,指定需要修改的IFC文件,得到S1中ifcOWL数据,基于S2查询需要修改的数据是否存在,通过Jena提供的API对存在的ifcOWL数据进行修改,再根据识别号定位到该数据IFC数据中位置,对IFC数据进行修改;

S4.IFC数据删除,指定需要删除的IFC文件,得到S1中ifcOWL数据,基于S2查询需要修改的数据是否存在,通过Jena提供的API对存在的ifcOWL数据进行删除,再根据识别号定位到该数据IFC数据中位置,对IFC数据进行删除;

进一步地,S1中文件特征包括文件的名称、大小和创建时间。

进一步地,S2中在用户交互模块指定需要查询的IFC文件。

进一步地,S2中采用SPARQL语言对ifc-OWL数据进行查询,构建查询语句,根据指定查询条件得到完整的SPARQL查询语句。

进一步地,S4中删除ifcOWL数据和IFC数据中只与被删除数据相关联的数据。

有益效果:本发明基于语义网络技术的IFC数据管理系统支持对IFC数据的查询、修改、删除等操作。用户不需要理解IFC数据的格式,即可对IFC数据进行管理,有利于提升对IFC数据的利用效率。解决了IFC数据的查询问题和IFC数据的修改与删除问题。

IFC数据本身为文本文件,可以直接打开,但是在不熟悉IFC数据格式的情况,难以读懂其包含的信息,本发明将IFC数据转换成ifcOWL数据,利用语义网络的技术对数据进行查询,并支持条件查询。因为IFC数据缺乏易读性,直接对IFC数据的修改是困难的。本发明将IFC数据转换成ifcOWL数据,但是目前这个过程是单向的,目前缺乏方法将ifcOWL数据转换成IFC数据。本发明提出一种为每个数据赋予一个唯一的识别号的方法解决这个问题,支持修改和删除查询指定的数据。

附图说明

图1为基于语义网络技术的IFC数据管理系统示意图;

图2为IfcBSplineCurve的映射示意图;

图3为IFC到ifcOWL数据的转换方法流程图;

图4为基于网络语义技术的IFC数据查询方法流程图;

图5为基于网络语义技术的IFC数据修改方法流程图;

图6为基于网络语义技术的IFC数据删除方法流程图;

图7为实施例1中文件识别号生成流程图;

图8为IFCDOOR的转换过程示意图;

图9为实施例2中由查询条件生成查询语句示意图;

图10为实施例3中文件识别号记录表;

图11为实施例3中数据修改前后对比示意图。

具体实施方式

下面结合附图对本发明技术方案进行详细解释。

本发明一种基于语义技术的IFC数据管理系统,如图1所示,本发明主要包括以下部分:

1.IFC文件读取器,该模块将IFC数据文件读入到内存中,该模块会根据IFC数据文件大小的动态分配内存,提升内存的利用率。

2.IFC文件输出器,该模块将内存中的IFC数据输出成后缀为.ifc的文件文本。

3.数据转换模块,该模块将IFC数据转换为ifcOWL数据,ifcOWL数据是对IFC数据的网络本体语言描述。该模块包括如下子模块,具体为:

IfcOWL本体(ontology),本体就是对特定领域之中某套概念及其相互之间关系的形式化表达,本发明参照IFC Schema生成ifcOWL本体;表1为IFC Schema与ifcOWLOntology的关系。

表1

IFC-ifcOWL映射关系库,该模块记录着IFC标准和ifcOWL本体的映射关系,对任何一个IFC Schema中的数据类型,在ifcOWL本体中都有一个与之对应的类型。图2中ifcBSplineCurve为例具体说明了这种映射关系;

IFC文件记录器,该模块根据IFC文件的文件名、文件创建时间、文件大小生成一个唯一的识别号,并利用文件识别号记录表记录文件与识别号的对应关系。

IFC-ifcOWL转换器,该转换器与IFC文件读取器相连接,得到已经读入的IFC数据,通过IfcOWL本体和IFC-ifcOWL映射关系库将IFC数据转换成ifcOWL数据。在此过程中,为保证IFC数据和ifcOWL数据的双向连接,对IFC文件中的每一条数据赋予了一个唯一识别号,识别号具体地前八位为该条数据在IFC文件的ID,第九位到最后一位都是由IFC文件记录器生成的IFC文件识别号,在转换的过程中,此识别号会被加到对应的ifcOWL数据中,用于识别每一个数据。

4.ifcOWL数据存储模块,该模块和数据转换模块相连接,对从IFC数据转换而来ifcOWL数据进行高效地存储。需要说明的是,固然可以将ifcOWL数据简化地固化到.nt文件,甚至可以直接存储到.txt文件,但若对于数据新增、修改、删除、查询等操作,那么简单地使用文本形式,是效率低下的,TDB2是Apache Jena用于RDF(资源描述框架)数据存储和查询的数据库,并且支持所有Jena API,单机上TDB2可被用于高性能的RDF存储,并且可以使用命令行或者Java API的形式来操作TDB2数据库,ifcOWL数据是RDF数据的一种类型,本发明采用TDB2作为ifcOWL的存储方式,具体地,数据存储模块与数据转换模块相连接,接受转换得到的ifcOWL数据,将其存储在TDB2数据库中;

5.数据查询模块,数据查询模块与数据存储模块相连接,提供对已存储数据的查询功能。用户在不需要了解IFC格式的情况即可进行查询,并支持自定义查询条件,根据条件过滤查询到的结果。数据查询模块包括如下子模块:

预定义查询语句库,本发明采用SPARQL语言对ifcOWL数据进行查询,构件查询语句,该查询语句库存了预定义好的查询语句。

完整查询语句生成器,该模块根据指定的查询条件,结合预定义查询语句库,得到完整的SPARQL查询语句。

6.数据修改模块,数据修改模块包括ifcOWL数据修改器和IFC数据修改器,ifcOWL数据修改器用于修改ifcOWL数据中指定的一条或多条数据,IFC数据修改器用于修改IFC数据中指定的一条或多条数据。数据修改模块、数据查询模块和数据存储模块相连接,首先通过查询得到需要被修改的数据,然后通过Jena提供的API对ifcOWL数据进行修改,同时也会IFC数据进行相对应的修改。

本发明支持对查询到的数据进行修改,并生成修改后的新的IFC数据文件。在将IFC数据转换成ifcOWL数据后,查询操作实质上是作用在转换得到的ifcOWL数据,修改操作是同时作用在ifcOWL数据和原IFC数据,具体地,首先修改ifcOWL数据,然后利用生成的每一条数据的唯一识别号,定位到要修改的数据在原IFC数据的位置,将需要修改的值进行替换,完成修改。

7.数据删除模块,数据删除模块包括ifcOWL数据删除器和IFC数据删除器,ifcOWL数据修改器用于删除ifcOWL数据中指定的一条或多条数据,IFC数据修改器用于删除IFC数据中指定的一条或多条数据。数据删除模块与数据查询模块和数据储存模块相连接,首先通过查询得到需要被删除的数据,然后通过Jena提供的API进行删除,同时也会删除IFC数据中指定的数据,在将IFC数据转换成ifcOWL数据的基础上,本发明支持从IFC文件中删除指定的数据,与修改相似,删除操作是作用在ifcOWL数据和原IFC数据的,具体地,首先从ifcOWL数据中删除指定的数据,特别说明的是,在删除的过程中会查询是否有只与该数据相关联的数据,如果存在一并删除,然后根据数据的唯一识别号,定位到要修改的数据在原IFC数据的位置,删除该条数据。然后分析在此IFC数据中是否有只与该条数据相关联的数据,如果存在,一并删除。

8.用户交互模块,提供包括导入指定IFC数据文件、选择查询条件并显示查询结果、修改指定数据、删除指定数据、显示系统状态以上功能的可视化交互界面。

本发明在基于语义网络技术的IFC数据管理系统基础上提供一种基于语义网络技术的IFC数据管理方法,该方法将IFC数据转换成ifcOWL数据,并实现了对IFC数据查询、修改、删除。

步骤一、IFC到ifcOWL数据的转换,转换方法如图3所示:

步骤1.1.使用用户交互模块指定IFC数据文件,利用IFC数据文件读取模块将其读入到内存中;

步骤1.2.数据转换模块将IFC数据转换成ifcOWL数据,首先根据IFC数据文件的名称、大小、创建时间创建一个唯一的识别号,并记录在文件记录器中,再结合本体和IFC-ifcOWL映射关系库,利用IFC-ifcOWL数据转换器将IFC数据转换成ifcOWL数据,在ifcOWL数据中,每一条数据具有识别号,该识别号由转换器生成,前八位为该条数据在IFC文件的ID,第九位到最后一位都是由上述IFC文件记录器生成的IFC文件识别号;

步骤1.3.利用数据存储模块,将ifcOWL数据以TDB2数据库存储。

步骤二、显示基于网络语义技术的IFC数据查询,图4显示查询方法,其步骤如下:

步骤2.1.在用户交互模块指定需要查询的IFC文件,基于步骤一得到以TDB2数据库存储的ifcOWL数据;

步骤2.2.利用用户交互模块指定查询条件;

步骤2.3.使用数据查询模块根据指定的查询条件,结合查询语句库,生成查询完整的SPARQL查询语句;

步骤2.4.在指定的ifcOWL数据上执行生成的SPARQL查询语句;

步骤2.5.得到查询结果并在用户交互界面中显示。

步骤三、基于网络语义技术的IFC数据修改,图5显示修改步骤:

步骤3.1.在用户交互模块指定需要修改的IFC文件,基于步骤一得到以TDB2数据库存储的ifcOWL数据;

步骤3.2.在用户界面指定需要修改的数据和新值(修改后的值);

步骤3.3.利用数据修改模块对数据进行修改,首先基于步骤二判断需要修改的数据是否存在,如果不存在,在用户交互界面给出数据不存在的结果,如果存在,通过Jena提供的API对ifcOWL数据进行修改;再根据数据的识别号,定位到该数据在IFC数据中的位置,对IFC数据进行相应地修改。

步骤四.基于网络语义技术的IFC数据删除,图6显示删除步骤:

4.1.在用户交互模块指定需要删除某些数据的IFC文件,基于步骤一,得到以TDB2数据库存储的ifcOWL数据;

4.2.在用户交互界面指定需要删除的数据;

4.3.利用数据删除模块对指定的数据进行删除,首先基于步骤二判断需要删除的数据是否存在,如果不存在,在用户交互界面给出数据不存在的提示,若显示需要删除的数据存在,则通过Jena提供的API对ifcOWL数据中指定的要删除的数据进行删除,删除只与被删除数据相关联的数据,使得ifcOWL数据中心不存在多余的数据,在根据所查询到数据的识别号,定位到该数据在IFC数据中的位置,对IFC数据进行相应的删除,进一步地,删除IFC数据中的只与被删除的数据相关的数据,保证IFC数据中没有多余的数据。

实施例1将IFC数据转换成ifcOWL数据

步骤1.在用户交互模块指定IFC文件,在此实施例中,指定文件名为demo.ifc的IFC文件;

步骤2.利用IFC数据文件读取器将IFC数据读入到内存中;

步骤3.利用IFC-ifcOWL数据转换模块,将IFC数据转换为ifcOWL数据;图7中利用IFC文件记录器,根据demo.ifc的文件名称、文件创建时间和文件大小创建了唯一文件识别号0001,结合IFC-ifcOWL转换器将IFC数据转换为ifcOWL数据,图8中具体地说明了IFCDOOR这个实例的转换过程;

步骤4.利用数据存储模块将ifcOWL数据存储在TDB2数据库中。

实施例2基于语义网络技术对IFC数据进行查询

步骤1.以实施例1的方式得到以TDB2数据库存储的ifcOWL数据;

步骤2.在用户交互模块指定的查询条件,在本实施例中查询宽度小于500毫米的窗户;

步骤3.如图9所示,数据查询模块根据指定的查询条件,生成了SPARQL查询语句;

步骤4.执行查询语句,得到查询结果,并显示在用户交互模块中。

实施例3基于语义网络技术对IFC数据进行修改

步骤1,在用户交互模块指定文件名为demo.ifc的IFC数据文件;

步骤2,以实施例1的方式得到以TDB2数据库存储的ifcOWL数据;

步骤3,在用户交互模块指定需修改的数据和新值,例如将名字为“M_单扇-与墙齐:0915x 2134mm:303431”的门的高度,将高度修改成2000毫米。

步骤4,以实施例2的方式查询是否存在名为“M_单扇-与墙齐:0915x 2134mm:303431”的门,若不存在则提示数据不存在,若存在,则先利用Apache Jena API对该TDB2数据库进行修改,利用新值替换原值,然后利用查询到数据识别号“000005310001”,第九位到最后一位,为文件识别号,结合文件记录器,如图10所示,找到该数据所在的IFC文件,并通过数据识别号前八位定位在所需修改的门在IFC文件中的位置,用新值替换原值,修改前后对比如图11所示。

实施例4、基于语义网络技术删除IFC数据中的指定数据

步骤1,在用户交互模块指定文件名为demo.ifc的IFC数据文件;

步骤2,以实施例1的方式得到以TDB2数据库存储的ifcOWL数据;

步骤3,在用户交互模块指定需要删除的数据,本实施例中需要删除高度超过两米的墙;

步骤4,以实施例2的方式查询是否有高度超过两米的墙,若不存在,则提示指定删除的数据不存在,若存在,则先以实施例2的方式查询只与删除数据相关的数据,利用Apache Jena API在该TDB2数据库删除指定的数据以及只与需删除数据相关的数据,再利用查询到数据识别号,第九位到最后一位为文件识别号,结合文件记录表,定位该数据所在的IFC文件,并通过数据识别号前八位定位在需删除的门在IFC文件中的位置,对该数据进行删除,并删除只与该数据相关的数据。

本发明基于语义网络技术的IFC数据管理系统支持对IFC数据的查询、修改、删除等操作。用户不需要理解IFC数据的格式,即可对IFC数据进行管理,有利于提升对IFC数据的利用效率。解决了IFC数据的查询问题和IFC数据的修改与删除问题。

IFC数据本身为文本文件,可以直接打开,但是在不熟悉IFC数据格式的情况,难以读懂其包含的信息,本发明将IFC数据转换成ifcOWL数据,利用语义网络的技术对数据进行查询,并支持条件查询。因为IFC数据缺乏易读性,直接对IFC数据的修改是困难的。本发明将IFC数据转换成ifcOWL数据,但是目前这个过程是单向的,目前缺乏方法将ifcOWL数据转换成IFC数据。本发明提出一种为每个数据赋予一个唯一的识别号的方法解决这个问题,支持修改和删除查询指定的数据。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号