第三章 语义对象模型 Semantic object model 语义对象模型特点 –...
-
date post
21-Dec-2015 -
Category
Documents
-
view
366 -
download
14
Transcript of 第三章 语义对象模型 Semantic object model 语义对象模型特点 –...
第三章 语义对象模型 Semantic object model
• 语义对象模型特点– 直观,以视图方式给出一个完整的信息结构– 更充分的表达聚合抽象、归纳抽象– 更丰富地表达对象联系的语义信息
3.1 语义对象模型的对象定义• 语义对象:描述一个确切的本体的命名及
其属性的命名集合。– 本体( Ontology ) : 描述现实在世界中独立
的和可区分的群体概念。– 本体中每一个实例都是唯一的和可标识的– 本体可以是物理存在的实体集合
如学生 Student– 本体也可以只是一个逻辑实例的集合
如定单 Order
语义对象模型的属性定义• 属性:定义语义对象的特征。用特定的属
性名标识。– 属性分类:
1. 简单属性 S(Simple): 值域为简单类型2. 组合属性 G(Group): 为简单属性的集合
组合属性名: { 内部属性名 }
3. 语义对象属性:相关联的本体名
SO (Semantic Object)
4. 语义对象标识属性:属性名前加 ID 前缀。ID -------- 唯一实例的标识
ID -------- 不唯一实例的标识5.公式计算属性:该属性值是一个计算
结果。aF (Formula) 例如 “合计”
COLLEGE ID CollegeName DeanName FirstName0.1
LastName1.1 1.1
PhoneNumber1.N
CampusAddress Building1.1
OfficeNumber1.1 0.1
DEPARTMENT 1.N
]
]DEPARTMENT ID DeptName 1.1
Chairperson 1.1
phoneNumber 1.N
TotalMajors 1.1
1.1
1.N
1.N
COLLEGE
PROFESSOR
STUDENT
STUDENT ID StudentName FirstName0.1
LastName1.1 1.1
ID StudentNumber PhoneNumber HomeAddress Street 0.1
City 1.1
State 1.1
Zip 1.1 1.1
Title EnrollmentDate DEPARTMENT 1.1
ADVISER 1.1
]
]PROFESSOR ID ProfessorName FirstName0.1
LastName1.1 1.1
CampusAddress Building1.1
OfficeNumber1.1 0.1
PhoneNumber
DEPARTMENT 1.1
ADVISER 1.N
]
]
对象实例
王煦法360704936074303607432
电三楼西侧213
信息科学技术学院
电子工程与信息科学系
计算机科学技术系
自动化系
电子科学与技术系
语义对象模型的属性基数• 最大基数:一个对象实例所拥有的该属性
实例的最大数目。m=1 : 属性实例最多一个 ----- 单值属性
m>1 : 属性实例可以多个 ----- 多值属性 例:单位电话 ----- 可以多个。
语义对象模型的属性基数• 组属性基数和组中属性基数语义:
当组属性 n=0 而组内某属性 n=1 表示 :
该组可以为空值,但只要组属性有实例,则其内属性值必须存在。例: 电话号:电话号 1.N
分机号 0.N 0.N
语义对象的属性域值说明• 属性域值说明表
Domain Name
Type (S,G,SO,aF)
Semantic Description (语义描述)Physical Description : S: 值的类型描述
G: 组的集合类型描述SO: 语义对象名 aF: 计算结果类型描述
语义对象视图• 对于特定应用,一个对象的可见部分称为
语义对象视图。构成 - 对象名
- 该视图可见的属性名集合
视图举例
ID DepartmentNameCampusAddressBuilding1.1OfficeBumber1.1 0.1
PhoneNumber 1.NFaxPhoneNumber 0.1
1.N
1.N
1.N
DEPARTMENT
PROFESSOR
PROFESSOR
PROFESSOR
DepartmentName
1.N
Department Name
1.N
Staff View
PROFESSOR
Student listing View
STUDENT
3.2 语义对象分类(一)简单对象 Single object
• 属性 : -单值的简单属性 -单值的组合属性 -非对象属性
(二)组合对象 Composite object• 属性 : -非对象属性 -可以是多值的简单属性 -可以是多值的组合属性
例:设备卡
ID EquipmentNumberDescriptionAcquisition DataPurchase Cost
EQUIPMENT
例:饭店帐单具体的发票样品 = > 组合对象 HOTEL-BIL
L
10/12/96 Room $99.0010/12/96 Food $37.5510/12/96 Phone $2.5010/12/96 tax $15.00
……
10/13/96 Room $99.0010/13/96 Food $47.9010/13/96 tax $15.00
Total Due $315.95
Invoice Number:1234 Arrival DataCustomer Name:Mary Jones 10/12/96 ID InvoiceNuber
Arrival Data 1.1ID CustomerName 1.1
LineItemService Data 1.1Service Description 1.1Price 1.1 0.N
Total Due 1.1 1.N
HOTEL-BILL
可嵌套的组合属性若服务项目还要细分:例如食品项目,则帐
单对象为:ID InvoiceNuber Arrival Data 1.1ID CustomerName 1.1
LineItemService Data 1.1Service Description Subdescription 1.1Subprice 1.1 1.N
LineItemprice 1.1 0.NTotal Due 1.1
HOTEL-BILL
(三)复合对象 Compound object
-至少包含一个语义对象属性-描述联系的聚合抽象语义
(四)混合对象 hybrid object
-组合对象与复合对象的结合即:至少包含一个多值属性组组内至少有一个语义对象属性
复合对象举例例 1. 1:1 的复合对象-员工与汽车分配
EMPLOYEEID : 员工号
...
...
...
...
0.1VEHICLE
VEHICLEID : 牌照号
...
...
...
...
1.1EMPLOYEE
• 例 2. 1:N 的复合对象-学生宿舍分配
复合对象举例
DORMITORYID : Name
...
...
...
...
1.NSTUDENT
STUDENTID : 学号
...
...
...
...
0.1DORMITORY
• 例 3. N:M 的复合对象-书与作者
复合对象举例
BOOKID Title
1.N
ID ISBN......
AUTHOR
AUTHORID AuthorName
...
...
1.N ......
BOOK
混合对象举例• 例 2. 1:N 的混合对象-学生宿舍分配
DORMITORYID DormName
phone ...StudentRent
1.1Rent 0.1 1.N ...
STUDENT
STUDENTID StudnetNameID StudnetNumber
0.1.........
DORMITORY
混合对象语义分析- 混合对象中,相应对象间的映射关系可以用最
小基数和加上 ID 标识来区分举例:商品定单与商品之间的限制关系
• 情况 1 :某商品 Item 只能在一份定单中现,但可在一份定单的多行中出现。
SALES - ORDER
LineItem
1.1...
1.N
ITEM
ITEM...
0.1 ...
SALES - ORDER
情况 2 :一个商品只能在一份定单且定单的一 行中出现。
将 ITEM 用 ID 限制为 唯一出现的语义SALES - ORDER
LineItem
ID 1.1...
1.N
ITEMITEM
...
0.1 ...
SALES - ORDER
• 情况 3 :一个商品可以出现在多份定单中,但一份定单中只能出现一次
SALES - ORDER
LineItem
ID 1.1...
1.N
ITEM
ITEM...
0.N ...
SALES - ORDER
• 情况 4 :一个商品可以在多份定单中,多行 中出现
SALES - ORDER
LineItem
1.1...
1.N
ITEM
ITEM...
0.N ...
SALES - ORDER
(五)关联对象 association object
-当联系本身带有属性时,需要用对象来描述。-作用:联接相应对象
FLIGHT ID FlightID FlightNumber Date OriginatingCity Destination FuelOnTakeOff WeightOnTakeOff
AIRPLANE 1.1
PILOT 1.1
]AIRPLANE ID TailNumber Manufacture Type FLIGHT 0.N
PILOT
ID FCI-ID
ID Name
ID SocialSecurityNumber
0.N FLIGHT
关联对象航班 FLIGHT 的例子
ASSIGNMENT ID AssignmentID PROJECT 1.1
ARCHETECT 1.1
AssignmentStarts AssignmentEnds MaxHours MaxLaborCost MaxMaterialCost
]PROJECT ID ProjectName ProjectManager ProjectStart ProjectEnd
ASSIGNMENT 1.N
ARCHITECT ID Name Phone Office
ASSIGNMENT 1.N
关联对象工程分配 ASSIGNMENT 的例子
(六)父子类型对象-描述联系的泛化 / 特化抽象语义表达:父对象中,子对象的基数含义: : 0.ST -表示可选,可以没有这个子类 : 1.ST -表示必选子对象中,父子对象的基数为 P
例:
表示如下语义:一个员工可以只是员工;一个员工可以又是经理;一个员工可以又是程序员;一个员工可以又是经理和程序员。
EMPLOYEE............
0.ST0.ST
MANAGER
P
... ...
MANAGER
PROGRAMER
EMPLOYEE
PROGRAMMER
P
... ...
EMPLOYEE
子对象互斥的语义表达式• 将互斥的子对象属性构成组属性• 组属性基数为 X.Y.Z 。
– X: 组的最小基数。 0 :表示可以没有子类 1 :表示必须有子类
– Y :在有子类的情况下,子类的最小数目– Z :在有子类的情况下,子类的最大数目
例 0.1.1 表明第四 种情况不存在。
1.1.1 表明第 一、第四种情况不 存在。
EMPLOYEE......... ...
0.ST0.ST 0.1.1
MANAGER
PROGRAMER
例 2
例 2 : 客户
个人 合伙 公司
应缴税 无需缴税
行政单位 学校单位
图 4-30 (a) 互斥子类型
CLIENTID ClientNumberID ClientName Phone
INDIVIDUAL
CORPORATION
PARTNERSHIP0.ST
0.ST
0.ST 0.1.1
CLIENTID ClientNumberID ClientName Phone
INDIVIDUAL
CORPORATION
PARTNERSHIP0.ST
0.ST
0.ST
INDIVIDUAL
CLIENTP
SocSecNumberNetWorth
PARTNERSHIP
CLIENTP
TaxIDManagingPartner
CORPORATION
CLIENTPTaxID
BalanceContactNameContactPhone
图 4-30 (b) 嵌套子类型CORPORATION
CLIENTPTaxiID
BalanceContactNameContactPhone
TAXABLE CORP
NONTAXABLECORP0.ST
0.ST1.1.1
TAXABLE CORP
CORPORATIONP
TaxRate
NONTAXABLE CORP
COPRORATIONPExemptionID
GOV-AGENCY
SCHOOL0.ST
0.ST1.1.1
GOV-AGENCY
NONTAXABLE CORPP
FederalIDNumber
SCHOOL
NONTAXABLE CORPP
SchoolDistrictName
父子对象• 父子对象间的联系语义为 is-a
• 子对象继承父对象的所有属性,父对象是各子对象的一个归纳抽象
• 父对象可以是一个独立的对象实例集合例 人 person
Employee Manager Student
• 父对象也可以不代表任何独立实体—— 虚类时,必须在一个子类对象下
才能成为实体
父 - 子对象与复合对象的区别• 父 - 子对象——泛化 / 特化抽象,属性是“继承”
父对象中的子对象属性是“特化” 子对象中的父对象属性是“继
承”• 复合对象 ——聚合语义,属性是“属于”• 二种抽象构造了语义对象间的层次结构图 —— 父 - 子对象等级结构构造了无递归的有向
无环图 —— 复合对象的引用等级结构在无递归情况
下为有向无环图
例 A :有环的复合对象PERSON
PERSON
Spouse
EMPLOYEE
STUDENT0.ST
0.ST0,1,2
1,1 0,1
EMPLOYEE
PERSONP
..
..
STUDENT
PERSONP
..
..
例 B :含有关联对象的复合对象PERSON
MARRY0 ,
1
.. .. ..男
MARRY
PERSON1 ,
1
ID 登记号时间地点费用婚检
PERSON1 ,
1
例 : 含有二种抽象的一个语义对象层次结构图
VEHICLE
ID …… Weight ..
AUTOMOBILE
TRUCK0.ST
0.ST0,1,1
DRIVETRAIN1,1
MANUFACTURE ER 1,1..
DRIVETRAIN
ID …… ..
TRANSMISSION
VEHICLE1.1
1.1
ENGINE1,1
MANUFACTURE ER ..
AUTOCOMPANY
TRUCKCOMPANY0.ST
0.ST
VEHICLE 1,1
ENGINE
..
..
..
TRANSMISSION
..
..
..
AUTOCOMPANY
..
TRUCKCOMPANY
..
AUTOMOBILE
VEHICLEP
..
TRUCK
VEHICLEP
..
原型 / 版本对象 —— ID 依赖对象
• 该类型是复合对象的特例
—原型对象是一般的独立对象
—版本对象不能独立存在,因此它没有独立的 ID
例 1 :书的原型对象和版本对象
* EDITION( 版本对象 ) 的 ID 是包括了原型对象的一个属性组。因此,若没有原型对象就不可能存在版本对象
TEXTBOOK
ID ISBN Title
Author
Publisher
EDITION1,N
EDITION
ID EditionID
EditionNumber
PublicationData
NumerOfPages
TEXTBOOK1,1
1,1 1,1
例 2
BUILDING
ID NAME ..
..
..
APARTMENT1,N
APPARTMENT
ID ApartmentID
ApartmentNumber
..
.,
BUILDING1,1
1,1 1,1
语义对象模型的属性基数每个属性均有最大基数,最小基数标识
表示为 n.m ( 最小 . 最大 )• 最小基数:一个对象实例必须存在的属性
实例数目。n=0 : 该属性可以是空值 =1 : 该属性必须有值
特殊: >1 : 最少的值的数目如篮球队员至少 5人