个性化模型与主题地图:知识表示与导航的新视角
立即解锁
发布时间: 2025-09-07 00:57:17 阅读量: 15 订阅数: 20 AIGC 


XML系统架构与应用
# 个性化模型与主题地图:知识表示与导航的新视角
## 1. 个性化模型
### 1.1 实体属性与个性化数据
在结构模式中,实体的属性可用于存储用户或用户组的偏好以及其他个性化数据。这些数据能用于构建其他实体的派生属性,在内容单元的组合以及展示模型的定义中发挥作用。
例如,用户实体包含属性 `discountRate`,产品实体包含属性 `listPrice`。借助类似 OQL 的表达式,可从 `listPrice` 和 `discountRate` 为产品实体计算派生属性 `effectivePrice`。
### 1.2 业务规则
个性化模型除了声明性定义外,还允许以业务规则的形式进行过程性规范。业务规则描述了系统对用户交互(点击或文本输入)和其他事件的反应。
业务规则被指定为三元组:事件 - 条件 - 动作。当指定事件发生时,会测试指定条件,若条件为真,则执行动作。常见的由业务规则触发的动作包括:
- 将用户分配到特定用户组(如优质客户、不良客户)。
- 通知用户(例如价格变动时)。
- 记录用户操作(用于数据仓库)等。
## 2. 主题地图
### 2.1 超链接问题与解决方案
#### 2.1.1 悬空指针问题
嵌入文档中的超链接存在问题。当用户在网上冲浪半小时以上,很可能遇到 404 响应代码,即 URL 指向的资源在指定位置不再存在,这可能是因为网站管理员重新组织了网站目录结构。移动资源到新位置时,所有指向该位置的网页中的 URL 都需要更新,这在全球范围内几乎难以实现。
#### 2.1.2 独立链接层
XLink 与链接库提供了解决方案。链接库可包含一组网页的所有链接,将维护工作集中到链接库。当网页位置改变时,只需修改链接库,而非逐个修改网页。这样更有可能保持超链接的有效性。
然而,超链接(包括链接库中的超链接)是物理 Web 资源之间的链接,在这种结构中导航就像在没有地图的城镇中行走,容易迷路。
### 2.2 地图的优势
超媒体和百科全书编辑者长期以来为用户提供各种导航访问结构,如目录、索引、引导游览、历史记录等。其中,语义地图允许用户在抽象层面导航,然后深入到实际资源。主题地图是语义地图的一种突出形式,是知识表示和导航领域的重要发展。
### 2.3 主题地图:Web 的 GPS
#### 2.3.1 标准与起源
主题地图是 ISO 标准,被称为“Web 的 GPS”。它起源于 SGML 社区,根源可追溯到 HyTime,但标准不依赖特定实现语言,XTM 1.0(XML 主题地图)是其一种实现。
#### 2.3.2 节点与弧
主题地图由节点和弧组成,与实体关系图不同的是,节点是“主题”,弧是“关联”。
主题在最通用的意义上可以是任何“事物”,如人、实体、概念等。ISO 规范 13250 将主题地图的结构定义为:
- 围绕主题(出现)对可寻址信息资源的分组。
- 主题之间的关系(关联)。
主题类似于 Chen 模型中的实体集,但类型更宽松。关联是双向的,例如“20 世纪历史”包含“玛丽莲·梦露电影”,也可反向理解为“玛丽莲·梦露电影”被包含在“20 世纪历史”中。
关联是在抽象主题之间建立的,语义网络仅由主题和关联组成,可独立于底层信息资源制定。一个主题地图可以应用于不同的信息资源集。
#### 2.3.3 主题地图的应用示例
- **一张地图,两个资源池**:同一主题地图可应用于不同的信息资源集,如应用于 AVI 文件池和 HTML 文件池。主题地图可在不触及信息资源的情况下对信息池施加结构,主题与信息资源之间的链接都在主题地图中定义。
- **两张地图,一个资源池**:也可以将不同的主题地图应用于同一信息资源池。两个主题可能通过关联连接,也可能因共享一个出现而连接。但主题地图不应依赖出现共享,概念应通过关联明确表达,否则在应用于不同信息资源池时可能丢失重要方面。
### 2.4 主题详细解析
#### 2.4.1 主题与主题的关系
主题的概念与主题密切相关。XTM 1.0 将主题定义为主题的组织原则,主题聚合了关于给定主题的信息。一个主题代表一个主题,一个主题也由一个主题代表,但可能有多个主题定义代表同一主题。
#### 2.4.2 主题标识
有两种方法确定代表同一主题的主题定义的标识:
- 若主题具有相同的 `baseName` 和相同的范围,则它们相同。
- 若主题引用相同的已发布主题指示器(PSI),则它们相同。PSI 用唯一的 URI 表示每个已发布主题,可跨主题地图甚至跨网站建立主题的标识。
#### 2.4.3 XTM 主题的详细定义
在 XTM 1.0 DTD 中,主题由以下元素定义:
```xml
<!ELEMENT topic
(instanceOf*,subjectIdentity?,(baseName|occurrence)*)>
```
- `instanceOf`:对主题进行分类,主题可属于一个或多个主题类。主题类可定义为另一个主题,已发布主题指示器也可作为主题类。若未提供 `instanceOf` 定义,主题类型默认为预定义的顶级已发布主题指示器 "topic"。
- `subjectIdentity`:定义主题的唯一主题标识点,可通过引用信息资源、已发布主题指示器或另一个主题来实现。
- `baseName`:用自然语言为主题定义名称,主题可以有零个、一个或多个 `baseName`,`baseName` 可受范围元素约束。
- `occurrence`:定义与信息资源的所有出现,出现可具有范围和类型,类型通过 `instanceOf` 子
0
0
复制全文
相关推荐









