《建筑信息模型数字成果元数据标准》_第1页
《建筑信息模型数字成果元数据标准》_第2页
《建筑信息模型数字成果元数据标准》_第3页
《建筑信息模型数字成果元数据标准》_第4页
《建筑信息模型数字成果元数据标准》_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ICS

中国建筑业协会团体标准团体标准

T/CCIATxxxx——20xx

建筑信息模型数字成果元数据标准

Metadatafordigitalproductsoffundamental

buildinginformationmodeling

(征求意见稿)

20xx—xx—xx发布20xx—xx—xx实施

中国建筑业协会发布

1

1总则

1.0.1为支持建筑信息模型创建相关成果有序管理,指导企业建

筑信息模型资源库建设工作,制定本标准。

1.0.2本标准适用于建筑信息模型和构件库的生产、分发及应用,

其他数字成果可参照使用,不包含其他应用成果的

1.0.3建筑信息模型数字成果的元数据,除应符合本标准及配套

标准外,尚应符合国家、行业现行有关标准的规定。

2

2术语

2.0.1数字成果digitalproduct

按一定的数据组织方式,以数字形式表达和存储的成果。

2.0.2建筑信息模型数字成果BIMdigitalresults

建筑信息模型应用产生的数字成果,在本标准里特指项目

模型和构件库。

2.0.3元数据metadata

关于描述数据信息对象的数据,是对某个潜在信息性对象

做出的陈述。

2.0.4发布库repository

应用元数据采集、存储、管理和分享建筑信息模型数字成

果的管理系统。

2.0.5外部依赖dependency

特指项目模型对其他模型的依赖或引用。

3

3基本规定

3.0.1宜将建筑信息模型数字成果元数据标准用于本地数据管

理和远程存储库管理。

3.0.2本标准参照《元数据的XMLSchema置标规则》(GB/T

24639-2009)定义元数据,建立了开源项目(详见附录A),

从元数据定义模型(详见附录B和附录C)生成元数据XML

模式定义,以及XML和JS0N格式的元数据文件Java读写

代码。应用其他技术可参考执行。

3.0.3元数据中宜包括问题跟踪系统的集成信息(详见附录B和

附录C中的IssueManagement定义及引用)。

3.0.4元数据中宜包括版本管理系统的集成信息(详见附录B和

附录C中的Scm定义及引用)。

3.0.5元数据中宜包括许可协议的信息(详见附录B和附录C中

的License定义及引用)。

3.0.6元数据中宜包括创建人及审核人的信息(详见附录B和附

录C中的Person定义及引用)。

4

4项目模型元数据

4.1一般规定

4.1.1项目模型元数据应包含所用元数据标准的版本信息(详见

附录B中Model的metaVersion属性定义),当前版本为

l.O.Oo

4.1.2项目模型元数据宜添加分组信息(详见附录B中Model的

groupld属性定义)。

4.1.3项目模型元数据应包含标识信息(详见附录B中Model的

modelld属性定义),标识信息不可以包含\、/、:、*、?、

"、<、>、|等特殊字符。

4.1.4项目模型元数据应包含版本信息(详见附录B中Model的

version属性定义)。

4.1.5项目模型元数据应包含存储格式信息(详见附录B中

Model的packaging属性定义)。

4.1.6项目模型元数据宜添加标签信息(详见附录B中Model的

tags属性定义)。

4.1.7项目模型元数据宜添加备注信息(详见附录B中Model的

description属性定义)。

4.1.8项目模型元数据宜添加创建时间信息(详见附录B中

Model的crcationTimc属性定义),时间表示法应符合国家

标准GB/T7408.2005《数据元和交换格式•信息交换・日期

和时间表示法》中定义的扩展格式表示,YYYY-MM-

5

DDThh:mm:sSo

4.1.9项目模型元数据宜添加组织信息(详见附录B中Model的

organization属性定义)。

4.1.10项目模型元数据宜通过属性信息扩展定义(详见附录B中

Model的properties属性定义)。

4.2外部依赖

4.2.1项目模型宜包含外部依赖信息(详见附录B中Model的

dependencies属性定义)。

4.2.2外部依赖元数据应包括分布式管理、标识信息、存储格式、

版本等信息,宜包括分组信息(详见附录B中Dependency

的repository、groupld、modelld、packaging,version

属性定义)。

4.2.3外部依赖元数据可包括排除信息(详见附录B中

Dependency的exclusions属性定义

4.2.4外部依赖元数据可包括类型信息(详见附录B中

Dependency的type属性定义),缺省是依赖dependency,

也可为引用reference,对引用不计算进一步的依赖关系。

4.3分布式管理

4.3.1项目模型元数据宜包括发布库信息(详见附录B中Model

的repository属性定义)。

6

4.3.2发布库元数据应包含URL信息(详见附录B中Repository

中的url属性定义)。

4.3.3发布库元数据宜包含命名信息(详见附录B中Repository

的name属性定义)。

7

5构件库模型元数据

5.1一般规定

5.1.1构件库元数据应包含所用元数据标准的版本信息(详见附

录C中Model的metaVersion属性定义),当前版本为

1.0.0o

5.1.2构件库元数据宜添加分组信息(详见附录C中Model的

groupld属性定义)。

5.1.3构件库元数据应包含标识信息(详见附录C中Model的

libraryTd属性定义),标识信息不可以包含\、/、:、*、?、

\<、>、I等特殊字符。

5.1.4构件库元数据应包含版本信息(详见附录C中Model的

version属性定义)。

5.1.5构件库元数据应包含存储格式信息(详见附录C中Model

的packaging属性定义)。

5.1.6构件库元数据宜添加标签信息(详见附录C中Model的

tags属性定义)。

5.1.7构件库元数据宜添加备注信息(详见附录C中Model的

description属性定义)。

5.1.8构件库元数据宜添加创建时间信息(详见附录C中Model

的creationTime属性定义),时间表示法应符合国家标准

GB/T7408-2005《数据元和交换格式-信息交换・日期和

时间表示法》中定义的扩展格式表示,YYYY-MM-

8

DDThh:mm:sso

5.1.9构件库元数据宜添加组织信息(详见附录C中Model的

organization属性定义)。

5.1.10构件库元数据宜通过属性信息扩展定义(详见附录C中

Model的properties属性定义)。

5.2构件定义

5.2.1构件库应至少包含至少一项构件定义(详见附录C中

Model的components属性定义)。

5.2.2构件元数据应包含构件名称(详见附录C中Component

的name属性定义)。

5.2.3构件元数据宜添加分类名称(详见附录C中Component

的classificationName属性定义)。

5.2.4构件元数据宜添加分类编码(详见附录C中Component

的classificationCode属性定义)。

5.2.5构件元数据宜包含所用分类系统名称(详见附录C中

Component的classificationSystem属性定义),缺省值是

GB/T51269-2017o

5.2.6构件元数据宜添加注释(详见附录C中Component的

classificationCode属性定义)。

5.2.7构件元数据宜添加标签信息(详见附录C中Component

的tags属性定义)。

5.2.8构件元数据宜添加缩略图信息(详见附录C中Component

9

的thumbnailURL属性定义)。

5.3分布式管理

5.3.1构件库元数据宜包含分布式管理信息(详见附录C中

Model的distributionManagement属性定义)。

5.3.2分布式管理元数据应包括发布库信息(详见附录C中

DistributionManagement的repository属性定义)。

5.3.3发布库元数据应包含URL信息(详见附录C中Repository

的url属性定义)。

5.3.4发布库元数据宜包含命名信息(详见附录C中Repository

的name属性定义)。

5.3.5分布式管理元数据宜包括网站信息(详见附录C中

DistributionManagement的site属性定义及Site定义)。

5.3.6分布式管理元数据可构件库的下载地址信息详见附录C

中DistributionManagement的downloadUrl属性定义)。

10

附录A:元数据定义开源项目

标准编写组建立了与标准内容对应的开源项目,支持标准的落地实施。

开源项目网址:/zgjzy/zgjzy-bim-mcta,开源项目采用

Apache2.0开源协议。

11

附录B:项目模型元数据定义

项目模型元数据定义采用Modell。模型定义,内容如下:

<?xmlversion="L0"encoding="UTF-8"?>

<!-

LicensedtotheApacheSoftwareFoundation(ASF)underone

ormorecontributorlicenseagreements.SeetheNOTICEfile

distributedwiththisworkforadditionalinformation

regardingcopyrightownership.TheASFlicensesthisfile

toyouundertheApacheLicense,Version2.0(the

"License");youmaynotusethisfileexceptincompliance

withtheLicense.YoumayobtainacopyoftheLicenseat

http://www.apachc.Org/liccnses/LICENSE-2.0

Unlessrequiredbyapplicablelaworagreedtoinwriting,

softwaredistributedunder(heLicenseisdistributedonan

"ASIS"BASIS,WITHOUTWARRANTIESORCONDITIONSOFANY

KIND,eitherexpressorimplied.SeetheLicenseforthe

specificlanguagegoverningpermissionsandlimitations

undertheLicense.

—>

<modelxmlns="http://codehaus-plexus.github.io/MODELLO/2.0.0"

xmlns:xsi="http://www./2001/XMLSchema-instance"

xsi:schcmaLocation="http://codchaus-plcxus.github.io/MODELLO/2.0.0

htlps:/Zcodehaus-plexus.gilhub.io/niodello/xsd/modello-2.0.0.xsd"

space="/model-meta/${version}"

xml.schcmaLocation="h((ps:///xsd/modcl-mcta-${version}.xsd">

<id>model-meta</id>

<name>ModelMeta</name>

<dcscription>

<![CDATA[

<p>这是BIM中使用的模型元描述符的参考实现。</p>

]]>

</description>

<defaults>

<dcfault>

<key>package</key>

<value>org.zgjzymeta.model</value>

</dcfauk>

</defaults>

12

<classes>

<classrootElement="true"xml.tagName="niodel"java.clone.hook=HcloneHook"

java.clone="deep">

<name>Model</name>

<description>

<![CDATA[

<code><model></code>是元数据描述的根元素。以下是可能的子元素。

JJ>

</dcscription>

<version>1.0.0+</version>

〈fields〉

<!-=================->

<!-元数据格式的版本一〉

<!-==================->

<field>

<name>metaVersion</nanie>

<vcrsicn>1.0.0+</vcrsion>

<required>true</required>

〈description〉

描述模型元数据格式的版本号,例如当前元数据格式的版本是

l.O.Oo

〈/description〉

<typc>String</type>

</field〉

<!-===============->

<!-模型分组结构-->

<fieldxdocscparator="blank">

<name>groupld</name>

<versicn>1.0.0+</version>

<rcquircd>falsc</rcquircd>

<description>

分组结构,用于根据个人、项目、企业的需求或规定,组织、管

理模型数据,其中包含的用于分割目录,形成目录结构。

</description>

<type>String</type>

</field>

<!-模型标识

<!—===============—>

<field>

13

<name>modelId</name>

<versicn>1.0.0+</version>

<requircd>lrue</rcquired>

<description>

<![CDATA[

相当于模型的文件名,用于标识模型,命名不可以包含等特殊字符。

]]>

</description>

<typc>S(ring</typc>

</field>

-模型版本

<!—==============—>

<ficld>

<name>version</name>

<versicn>1.0.0+</version>

<rcquircd>lruc</rcquired>

<description>

模型的当前版本。

</dcscription>

<type>String</type>

</field>

<!-===========

<!-模型存储格式

<!-===========

<field>

<name>packaging</name>

<versicn>1,0.0+</version>

<required>true</required>

<description>

相当于模型文件后缀,用于标识模型的格式类型,例如,ifc、dwg、

dgn、rvt、skp等所有可能的文件格式,也可以是自定义。

</description>

<typc>S(ring</type>

々field〉

===============-

<!-模型描述信息-->

<!—===============—>

<field>

<name>description</name>

<versicn>1.0.0+</version>

14

<description>

详细描述模型的信息。

</descrip(ion>

<type>String</type>

</field>

<!-模型创建

<!-================->

<field>

<name>creationTime</name>

<vcrsicn>1.0.0+</vcrsion>

<required>true</required>

<description>

时间表示法应符合国家标准GB/T7408-2005《数据元和交换格

式•信息交换・日期和时间表示法》中定义的扩展格式表示,YYYY-MM-DDThh:mm:sso

</description>

<typc>S(ring</typc>

</field〉

<1-组织机构信息

<!-==================->

<field>

<name>organization</name>

<versicn>1.0.0+</version>

<dcscrip(ion>

描述模型所属组织机构的属性,可用于声明模型的版权声明和链

接。

</dcscrip(ion>

<alias>organisation</alias>

<association>

<(ypc>Organization</type>

〈/association〉

</field>

<!—===============—>

<!-许可信息

<field>

<name>licenses</name>

<versicn>1,0.0+</vcrsion>

<description>

15

描述模型的所有许可信息,若有多个许可,可以分开描述,并假

定用户可以选择其中部分使用,而不是全部。

另外,模型的许可信息仅适用于本模型,不适用于依赖的模型。

</description>

<association>

<typc>Liccnse</typc>

<multiplicity>*</multiplicity>

〈/association〉

<ficld>

<!-模型创建者信息

<!-===================—>

<fieldxdoc.separator="blank">

<namc>dcvclopcrs</namc>

<versicn>1.0.0+</version>

<description>

模型创建的贡献者,可以有多个。

</description>

〈association〉

<typc>Pcrson</typc>

<multiplicity>*</multiplicity>

</association>

</ficld>

->

<!-模型检查者信息->

<field>

<name>cxaininers</namc>

<versi(;n>1.0.0+</version>

〈description〉

模型检查者,可以有多个。

</description>

<association>

<type>Person</type>

<multiplicity>*</muhiplicity>

</association>

</ficld>

<!-===================

<!-版本管理系统信息

<!—===================

<fieldxdoc.separator="blank">

16

<name>scm</name>

<versicn>1.0.0+</version>

<dcscrip(ion>

模型的版本管理系统信息,例如Git、Subversion.CVS等。

</description>

<association>

<type>Scm</type>

〈/association〉

</ficld>

<!・・问题追踪系统

<field>

<namc>issucManagcmcnt</namc>

<versicn>1.0.0+</version>

<description>

模型的问题追踪系统信息。

</description>

〈association〉

<typc>IssucManagcmcnt</typc>

</association>

</field>

<fieldxdocseparator="bkink">

<name>repository</name>

<vcrsicn>1.0.0+</vcrsion>

<description>

模型的远程存储库部署信息。

</descrip(ion>

<association>

<type>Repositor)</type>

</association>

</field>

<fieldxdoc.separator="blank">

<name>propcrties</namc>

<versicn>1.0.0+</version>

<description>

<![CDATA[

可以在整个元数据中作为替代使用的属性,并且在启用时用作资源中的过滤

器。

格式:<codc><namc>:vakic</namc&g(;</code>0

</description>

17

<type>Properties</type>

<associationxml.mapStyle="inline">

<type>String</typc>

<multiplicity>*</multiplicity>

〈/association〉

</ficld>

<!—===============—>

<!—标签信息

<!-==============->

<field>

<namc>tags</namc>

<versicn>1.0.0+</version>

<description>

描述模型的标签信息,用于检索模型。

</description>

<association>

<iype>String</typc>

<multiplicity>*</multiplicity>

</association>

<field>

<nainc>dcpcndencies</namc>

<versicn>1.0.0+</version>

<description>

模型所有的依赖项,可以自动下载到本地。

</description>

〈association〉

<type>Dcpendency</typc>

<multiplicity>*</multiplicity>

〈/association〉

<ficld>

</fields>

<codeSegments>

<codcScgmcnt>

<versicn>1.0.0+</version>

<code>

<![CDATA[

冬*

*元数据文件。

*/

privatejava.io.FilemetaFile;

18

privatevoidcloneHook(Modelcopy)

copy.mctaFilc=metaFilc;

*如果有,获取模型的元数据文件。

*@rcturn返回本地的模型元数据文件,如果是从远程库得到元数据信息,则返回空值

((3)codenull}。

*/

publicjava.io.FilegctMctaFilc()

returnnietaFile;

publicvoidsetMetaFile(java.io.FilemetaFile)

this.metaFile=(metaFile!=null)?metaFile.getAbsoluteFile():null;

}

/**

*如果有,获取相应模型的根目录。

*

*©return返回根目录,如果是从远程库得到元数据信息,则返回空值(@codenull)。

*/

publicjava.io.FilegetPrqjectDirectoryO

return(metaFile!=null)?metaFile.getParentFile():null;

}

/**

*@return模型标识<co<lc>groupld:modclld:packaging:vcrsion</codc>

*/

publicStringgetld()

StringBuilderid=nev/SlringBuilder(64);

id.appcnd(gc(GroupId());

id.append();

id.append(getModelId());

id.appcnd();

id.append(getPackagingO);

id.append(":M);

19

id.append(getVersioni));

returnid.toS(ring();

)

©Override

publicStringtoStringO

{

returngctld();

)

U>

</codc>

</codeSegment>

</codeSegments>

</class>

<classjava.clone="deep">

<namc>Pcrson</namc>

<description>

描述人员信息.

</dcscription>

<version>1.0.0+</version>

<fields>

<field>

<name>id</name>

<versicn>1.0.0+</version>

<dcscription>

人员的唯一标识。

</description>

<typc>String</typc>

</field〉

<field>

<nainc>namc</namc>

<versicn>1.0.0+</version>

(description〉姓名全名。</description>

<typc>S(ring</type>

</field>

<field>

<name>email</nanic>

<versicn>1.0.0+</version>

<description>

人员邮箱信息。

</description>

<type>String</type>

20

</field>

<field>

<nanic>organization</name>

<alias>organisation</alias>

<versicn>1,0.0+</version>

<description>

人员所属组织。

</description>

<typc>String</(ype>

</field>

<field>

<namc>rolcs</nainc>

<versicn>1.0.0+</version>

<description>

人员角色。

</description>

<association>

<iype>String</typc>

<multiplicity>*</multiplicity>

〈/association〉

<field>

<name>propeiiies</name>

<versicn>1,0.0+</version>

<description>

人员属性。

〈/description〉

<type>Properties</type>

<associationxml.mapStyle="inline">

<type>String</typc>

<multiplicity>*</multiplicity>

〈/association〉

<ficld>

</fields>

<codeSegments>

<codcScgmcnt>

<versicn>1,0.0+</version>

<code>

<![CDATA[

/**

*@seejava.lang.Object#ioString()

*/

publicStringtoStringO

21

return"Person{name="+name+”,eniail="+email+

11>

</code>

</codeSegment>

</c(xleScgmcnts>

</class>

<classjava.clonc="decp">

<name>Dependency</name>

<version>1,0.0+</version>

<dcscription>

<![CDATA[

The<code><dependency></code>elementcontainsinformationabouta

dependency

oftheproject.

JJ>

</dcscription>

<fields>

<ficld>

<nanic>rcpository</namc>

<versicn>1.0.0+</version>

<description>

模型所在库。

</description>

<association>

<iypc>Rcpositor)</typc>

〈/association〉

</field>

<field>

<name>groupld</name>

<versicn>1.0.0+</version>

<rcquircd>truc</rcquired>

<description>

<![CDATAl

Theprojectgroupthatproducedthedependency,e.g.

]]>

</description>

<typc>S(ring</type>

</field>

<field>

<namc>niodelld</namc>

<versicn>1,0.0+</version>

<required>true</required>

22

<description>

模型标识

</descrip(ion>

<type>String</type>

</field>

<field>

<nanie>packaging</name>

<versicn>1.0.0+</version>

<rcquircd>truc</rcquircd>

<description>

模型存储类型

</dcscrip(ion>

<lype>String</type>

</field>

<ficld>

<name>version</name>

<versicn>1.0.0+</version>

<dcscription>

<!(CDATA[

模型的版本,例如<codc>3.2.1</codc>,也可以是版本的范围。

]]>

</description>

<type>String</type>

</field>

<field>

<name>exclusions</name>

<vcrsicn>1.0.0+</vcrsion>

<description>

当计算传递依赖时,应从此依赖项中排除的模型。

</description>

〈association)

<type>Exclusion</type>

<multiplicity>*</multiplicity>

〈/association〉

</field>

<field>

<name>type</name>

<versicn>1.0.0+</version>

<descriplion>

<!(CDATA[

依赖类型,分为:Dependency和Reference两类。在计算依赖传递时,仅对

类型为Dependency的依赖项计算,不对类型为Reference的计算。

]]>

</description>

23

<type>String</type>

<field>

</ficlds>

<codeSegments>

<codeSegment>

<versicn>1.0.0+</version>

<code>

<![CDATA|

/**

*@seeiava.lang.Object#toString()

*/

publicSiringtoStringO

(

return"Dependency{groupld='r+groupld+",modelld="+modelid+",version=

version+",typc="+type+"}”:

)

Jl>

</codc>

</codeSegment>

<codcScgmcnt>

<vcrsicn>1.0.0+</vcrsion>

<code>

<![CDATA|

privateStringmanagemeniKcy;

/**

*@returnthemanagementkeyas<codc>groupkl:ar(ifactld:typc</codc>

*/

publicStringgetManagementKeyO

{

if(managementKey==null)

(

managementKey=groupld++mode!Id++type;

)

returnmanagementKey;

)

/**

*Clearsthemanagementkeyincaseonefieldhasbeenmodified.

*/

publicvoidclearManagementKeyO

{

managementKey=null;

24

J]>

</code>

</codcScgment>

</codeSegments>

</class>

<classjava.cione="deep">

<name>Exclusion</name>

<vcrsion>1.0.0+</vcrsion>

<description>

<![CDATA[

<codc><cxclusion></codc>包含计算模型依赖关系时,排除的模型。

]]>

</description>

<ficlds>

<field>

<name>groupld</name>

<vcrsicn>1.0.0+</vcrsion>

<description>

分组结构。

</dcscrip(ion>

<type>String</type>

<required>true</required>

<field>

<name>modelId</name>

<vcrsicn>1.0.0+</vcrsion>

<description>

模型标识。

〈/description〉

<type>String</type>

<required>true</required>

<ficld>

</fields>

</class>

<classjava.clone="deep">

<name>IssueManagement</name>

<description>

问题跟踪系统描述。

</description>

<version>1.0.0+</version>

<fields>

<field>

25

<name>system</name>

<versicn>1.0.0+</version>

<dcscription>

问题跟踪系统名称。

</descrip(ion>

<typc>String</type>

</field>

<field>

<namc>url</namc>

<versicn>1.0.0+</version>

<description>

问题跟踪系统URL。

</description>

<type>Stiing</type>

<ficld>

</fields>

<codeSegments>

<codcScgmcnt>

<versicn>1.0.0+</version>

<codc>

<![CDATA[

/**

*@seejava.lang.Object#toString()

*/

publicStringtoStringO

{

return"IssueManagement{system=u+system+",url="+url+")";

)

]]>

</code>

</codeSegment>

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论