第9章. 通用元数据
9.1 介绍
Compass Core中的通用元数据,提供了OSEM文件中使用的元数据名和别名的定义——特别是你的应用中通过多个OSEM文件定了一个非常大的领域模型时,它显得非常有用。这个机制的另一个优势是,它可以增加额外的元数据信息(如一个长描述),而且也能指定元数据定义的格式(如:"yyyy/MM/dd"),在OSEM文件中,你仅需引用它,而不需要再明确地定义它的格式。
通过集中你的元数据,其他工具可以利用这方面的信息和扩大这方面的知识(即加入语义到数据中)。Compass Core提供了一个通用元数据的Ant任务,该任务将生成一个Java类,在类中包含了通用元数据文件中定义的常量,并允许以编程方式从应用程序中访问它们
(见Compass自带的Library例子)。
注:在Compass的应用中,通用元数据支持是可选的。
9.2 通用元数据定义
通用元数据定义在一个XML文档中。例子如下:
<?xml version="1.0"?>
<!DOCTYPE compass-core-meta-data PUBLIC
"-//Compass/Compass Core Meta Data DTD 2.0//EN"
"http://www.compass-project.org/dtd/compass-core-meta-data-2.0.dtd">
<compass-core-meta-data>
<meta-data-group id="library" displayName="Library Meta Data">
<description>Library Meta Data</description>
<uri>http://compass/sample/library</uri>
<alias id="author" displayName="Author">
<description>Author alias</description>
<uri>http://compass/sample/library/alias/author</uri>
<name>author</name>
</alias>
<alias id="name" displayName="Name">
<description>Name alias</description>
<uri>http://compass/sample/library/alias/name</uri>
<name>name</name>
</alias>
<alias id="article" displayName="Article">
<description>Article alias</description>
<uri>http://compass/sample/library/alias/article</uri>
<name>article</name>
</alias>
<alias id="book" displayName="Book">
<description>Book alias</description>
<uri>http://compass/sample/library/alias/book</uri>
<name>book</name>
</alias>
<meta-data id="type" displayName="Type">
<description>Type of an entity in the system</description>
<uri>http://compass/sample/library/type</uri>
<name>type</name>
<value id="mdPerson">person</value>
<value id="mdAuthor">author</value>
</meta-data>
<meta-data id="keyword" displayName="Keyword">
<description>Keyword associated with an entity</description>
<uri>http://compass/sample/library/keyword</uri>
<name>keyword</name>
</meta-data>
<meta-data id="name" displayName="Name">
<description>The name of a person</description>
<uri>http://compass/sample/library/name</uri>
<name>name</name>
</meta-data>
<meta-data id="birthdate" displayName="Birthdate">
<description>The birthdate of a person</description>
<uri>http://compass/sample/library/birthdate</uri>
<name format="yyyy/MM/dd">birthdate</name>
</meta-data>
<meta-data id="isbn" displayName="ISBN">
<description>ISBN of the book</description>
<uri>http://compass/sample/library/isbn</uri>
<name>isbn</name>
</meta-data>
<meta-data id="title" displayName="Title">
<description>The title of a book or an article</description>
<uri>http://compass/sample/library/title</uri>
<name>title</name>
</meta-data>
...
</meta-data-group>
</compass-core-meta-data>
9.3 使用通用元数据定义
为了使用通用元数据定义,你必须指定文件的位置,或者把它们注册到Compass配置文件中(compass.cfg.xml)。Compass将自动把通用元数据文件的值替换到OSEM文件中。
<meta-data resource=
"org/compass/sample/library/library.cmd.xml" />
注:通用元数据必须在映射文件使用它们之前定义好。
在OSEM文件中,你可以使用类似于${…}的标记调用这些通用元数据(类似Ant)。
用例如下:
<?xml version="1.0"?>
<!DOCTYPE compass-core-mapping PUBLIC
"-//Compass/Compass Core Mapping DTD 2.0//EN"
"http://www.compass-project.org/dtd/compass-core-mapping-2.0.dtd">
<compass-core-mapping package="org.compass.sample.library">
<class name="Author" alias="${library.author}">
<id name="id" />
<constant>
<meta-data>${library.type}</meta-data>
<meta-data-value>${library.type.mdPerson}</meta-data-value>
<meta-data-value>${library.type.mdAuthor}</meta-data-value>
</constant>
<property name="keywords">
<meta-data boost="2">${library.keyword}</meta-data>
</property>
<component name="name" ref-alias="${library.name}" />
<property name="birthdate">
<meta-data>${library.birthdate}</meta-data>
</property>
<component name="articles" ref-alias="${library.article}" />
<reference name="books" ref-alias="${library.book}" />
</class>
<class name="Name" alias="${library.name}" root="false">
<property name="title">
<meta-data>${library.titleName}</meta-data>
</property>
<property name="firstName">
<meta-data>${library.firstName}</meta-data>
<meta-data>${library.name}</meta-data>
</property>
<property name="lastName">
<meta-data>${library.lastName}</meta-data>
<meta-data>${library.name}</meta-data>
</property>
</class>
</compass-core-mapping>
9.4 通用元数据Ant任务
使用通用元数据定义的一个好处是这个元数据的Ant任务,它能用已定义好的常量生成Java类。通用元数据类允许你在代码中使用这个定义。
下面是使用通用元数据的ant任务片断:
<taskdef name="mdtask"
classname="org.compass.core.metadata.ant.MetaDataTask"
classpathref="classpathhref" />
<mdtask destdir="${java.src.dir}">
<fileset dir="${java.src.dir}">
<include name="**/*" />
</fileset>
</mdtask>
分享到:
相关推荐
mongodb可视化管理mongodb-compass-1.43.0-win32-x64.exe mongodb compass官网下载地址:https://www.mongodb.com/try/download/compass mongodb相关下载地址: mongodb社区版:...
MongoDB Compass是MongoDB公司开发的一款强大的图形用户界面(GUI)工具,专为MongoDB数据库管理系统设计。这个工具的主要目标是简化数据库的管理和操作,使非技术用户也能轻松理解和探索数据。"mongodb-compass-...
mongodb-windows安装包: mongodb-compass-1.31.2-win32-x64.msi 打开直接安装
mongodb-compass-community-1.21.2-win32-x64.exe mongodb-compass-community-1.21.2-win32-x64.exe mongodb-compass-community-1.21.2-win32-x64.exe mongodb-compass-community-1.21.2-win32-x64.exe
MongoDB是一种流行的开源NoSQL数据库系统,以文档型数据模型为主,支持键值对、集合和JSON格式的数据存储。MongoDB的设计目标是提供高可用性、高性能和易于扩展的解决方案,特别适合处理大规模数据和实时应用程序。...
mongodb-compass-1.42.1-win32-x64.exe 数据库构建工具
mongodb-compass-community-1.18.0-win32-x64.msi
- **Transaction**:事务管理是 Compass 中的关键组件之一,确保了数据的一致性和完整性。 - **Locking**:锁定机制用于控制并发访问,防止数据冲突。 - **Isolation**:隔离级别定义了事务之间可见性的程度。 - ...
MongoDB Compass是MongoDB公司开发的一款图形化管理工具,专为MongoDB数据库设计,用于简化数据库的管理和操作。"mongodb-compass-1.23.0-win32-x64.zip" 是一个针对Windows 32位和64位系统的MongoDB Compass版本的...
Compass需要的包3:compass-core.jar
compass-reference,compass
mongodb-compass-community-1.16.3-win32-x64.exe 可移步百度网盘:链接: https://pan.baidu.com/s/1RcffFh0CYLSrN9F0FXie9Q 提取码: g53s
MongoDB Compass是MongoDB公司开发的一款开源数据库管理工具,专为MongoDB数据库设计,用于图形化界面操作和可视化数据。这个“mongodb-compass-1.22.1-win32-x64.zip”文件是一个针对Windows 32位和64位系统的...
这个是mongodb-compass的1.23最新版本。花了我好长时间才下载完。各位请给我个赞 这个是mongodb-compass的1.23最新版本。花了我好长时间才下载完。各位请给我个赞 这个是mongodb-compass的1.23最新版本。花了我好长...
其中,`setup.py`文件是Python项目的核心配置文件,用于定义项目的元数据(如作者、版本、依赖等)以及如何构建、安装和打包项目。开发者可以运行`python setup.py install`命令来安装这个库到本地环境。 对于...
《PyPI官网下载:django-pipeline-compass-0.1.4.tar.gz——Django后端开发中的Python库解析》 在Python的世界里,PyPI(Python Package Index)是开发者们发布、查找和安装Python软件包的主要平台。本文将深入探讨...
mongdb compass安装工具 64位 msi格式
MongoDB Compass是MongoDB官方提供的一款图形化管理工具,它为MongoDB数据库的使用者提供了直观的界面,方便进行数据浏览、查询、操作以及性能分析。MongoDB Compass 1.15.1是这个系列的一个版本,它无需安装,可以...