1.1 概述
业务本体可以用来描述企业业务里包含的非常丰富的概念知识
业务本体是整个业务模型的语义基础,它可以规范和约束业务所处理的数据,为数据赋予语义。
业务本体不仅可以促进企业知识的重用和共享,还可为企业数据交换和集成带来非常多的好处。
X5采用本体知识描述体系来对业务数据进行建模。可以简单的理解本体就是通过概念、关系和规则对知识的描述体系,把这种描述思想运用到企业信息化。
概念(concept)是对现实世界中各种事物的一种抽象,可以简单理解为数据库中的表,是关系的集合,可以使用它来定义生活中或业务中使用的概念或术语。
关系(relation)是对事物间联系的描述,可以简单理解为数据库表中的字段,但含义更丰富。
1.2 关系
1.2.1 关系的定义
关系(relation)类似于类定义中的域定义,但有本质的差别。在本体定义体系中,关系的定义是独立于概念定义存在的,它表明了客观存在关系这样的事实。目前只支持二元关系。
- 语法:
<relaltion name="" data-type="" single-valued="true/false" inverse-of="" size="" scale="" required="" unique="" default-value-expr="" > <label language=""></label> </relaltion>
- 说明:
name:关系名,建议使用有意义的单词组合。
data-type :关系的类型。
single-valued: 是否是单值关系。
inverse-of : 互逆关系。互逆关系是指从两个方向上描述同一个关联的一对关系,假设r1, r2为互逆关系,则 A –r1-> B,则可推出 B –r2-> A, 如:parent关系和child关系,A是B的parent,则可推出B是A的child。
size : 关系的长度。
scale:关系的精度
required:是否必须
unique:是否唯一
default-value-expr:默认值表达式
label标签:描述关系的label,language属性指明使用的语言。
- 案例:
<relation name="version" data-type="Integer" single-valued="true" default-value-expr="0"> <label language="zh_CN">版本</label> </relation>
1.3 概念
1.3.1 概念的定义
- 语法:
<concept name="" default-value-expr="" keys=""> <label language="en"></label> <has-relation relation="" local-name="" data-type="" single-valued="true/false" inverse-of="" size="" scale="" readonly="" required="" unique="" default-value-expr="" whole-part="composition/aggregation"> <label language="en"></label> <tree path-relation="" path-seperator=""/> </has-relation> </concept>
- 说明:
name:概念名称,建议概念名称全部使用有意义的单词组合,首字母大写。
default-value-expr:概念主键的默认值表达式。
keys:指明哪些关系组成概念的主键,使用“:”分隔,例如“sName:sAge”。组成keys的关系必须在has-relation中出现。
label标签:表示概念的label,language属性表示使用的语言。
has-relation标签:表示概念包含哪些关系,在has-relation中可以重新指定relation上绝大部分属性,同时新增了几个属性:
- local-name,表示关系在此概念中的别名。
- whole-part:整体部分关系,用于表示两个概念之间的关联关系,它的取值范围是{composition,aggregation},composition表示组合,当删除关系所在的本体时,同时删除关系指向的本体。aggregation表示聚合,当删除关系所在的本体时,置空关系的互逆关系。
- tree标签:指明概念通过此关系形成树,属性path-relation指出树形使用的path关系名,path-seperator表示path的分隔符。
- 案例:
<concept name="SA_OPAgent" default-value-expr="guid()"> <label language="zh_CN">代理</label> <has-relation relation="sOrgFID"> <label language="zh_CN">委托人</label> </has-relation> <has-relation relation="sOrgFName"> <label language="zh_CN">委托人</label> </has-relation> <has-relation relation="sAgentID" /> <has-relation relation="sActive" data-type="Integer" default-value-expr="0" /> <has-relation relation="sStartTime" /> <has-relation relation="sFinishTime" /> <has-relation relation="version" /> </concept>
本文由WeX5君整理,WeX5一款开源免费的html5开发工具,H5 App开发就用WeX5!
阅读其他app 开发相关文章:http://doc.wex5.com/?p=3443
评一波