昆明电器科学研究所 云南 昆明 650221
摘要:中药指纹图谱技术广泛应用于中药的生产和研究活动,尤其在质量控制方面,起着不可替代的作用。中药指纹图谱文档格式五花八门,各有优缺点。本文提出基于SVG的中药指纹图谱数据描述解决方案;提出通过在SVG文档中引用资源描述框架(Resource Description Framework,RDF)描述的方法实现基于SVG的中药指纹图谱文档的语义;统一混乱的局面。
关键词:中药指纹图谱 SVG DOM RDF 语义
一、引言
中药指纹图谱技术是对中药生产进行质量控制的一个有效的手段,是指将中药经适当处理后,采用一定的分析手段,对中药中所包含的各种化学成分的种类、含量等化学信息,以色图谱或光图谱等图形及图像形式手段来分析表征或描述的一门分析技术,能反映中药全貌,具有系统性、特征性和重现性,实现对中药内在质量的综合评价和整体物质的全面控制,确保中药疗效的稳定性。中药指纹图谱的获取一般是通过将计算机和分析仪器相连,记录分析仪器输出的数据,并形成图谱。通常,中药指纹图谱是一个二维的波形图像,完整的指纹图谱还应该包括和图谱相关的信息:仪器参数、样品来源、操作者及其它备注信息等。
因此,基于可伸缩向量图的中药指纹图谱数据描述的研究具有非常重要的意义。
二、中药指纹图谱
中药指纹图谱借用了法医学的指纹鉴定的概念。借助计算机和现代分析技术,可以将中药的特性和有效成分采用图谱的形式描绘出来,使每味中药都拥有如人的指纹一样的标准图谱,这就是中药指纹图谱。每一味中药的特性和有效成分千差万别。植物药(包括来源于植物的中药材)的提取物(包括中药的汤药)与化学合成药最根本的区别是,它(即使是单味药材)是多种化学成分的混合体。这种多种化学成分的综合体构成了“中药化学信息”[1]。
建立指纹图谱时,首先要选定具有代表性的样品,粗加工后采用适当的溶剂把其中的有效成份提取出来,然后再把提纯后的中药样品放入分析仪器的检测器中,经过分析,电脑就可以根据样品中所含的不同的化合物绘制出峰值各异的图谱来。这个图谱就是该种药材标准的指纹图谱。中药指纹图谱研究所采用的方法大致分为:色谱法、光谱法及其它。
SVG(Scalable Vector Graphics)基于XML规范。XML是可扩展标记语言(Extensible Markup Language)的简称,它定义了结构化描述数据的标准格式。XML是W3C(Word wide Web Consortium)为适应Internet的飞速发展而推出的数据描述语言,也是ISO(国际标准化组织)所制订的SGML(Standard Generalized Markup Language),通用语言标识标准)的一个子集。
SVG(Scalable Vector Graphics)是W3C推荐的一种开放标准的文本式矢量图形描述语言。2000年8月2日,正式发布了SVG格式的推荐规范,而后在业界引起了强烈反响。使用SVG可以在网页上显示出各种各样的高质量矢量图形,包括图像处理中常见的许多功能,如图形、文字、动画、色彩、滤镜效果等。最关键的是,SVG完全用普通文本来描述。SVG基于XML语言,具有很强的扩展性,能够描述任意复杂的图形[2]。
DOM(Document Object Model)即文档对象模型,是W3C制定的标准接口规范,是一种处理HTML和XML文件的标准API。DOM提供了对整个文档的访问模型,将文档作为一个树形结构,树的每个结点表示了一个HTML标签或标签内的文本项。DOM树结构精确地描述了HTML文档中标签间的相互关联性。将HTML或XML文档转化为DOM树的过程称为解析(parse)。HTML文档被解析后,转化为DOM树,因此对HTML文档的处理可以通过对DOM树的操作实现。DOM模型不仅描述了文档的结构,还定义了结点对象的行为,利用对象的方法和属性,可以方便地访问、修改、添加和删除DOM树的结点和内容。
在计算机领域中,语义是指用户对于那些用来描述现实世界的存储在计算机中的数据的解释,即用户用来联系计算机数据和现实世界的途径。RDF(Resource Description Framework)资源描述框架是一个使用XML语法来表示的资料模型(Datamodel)。
一个完整的中药指纹图谱文档至少应该包含以下两个方面的信息:色谱图、相关的实验记录。色谱图是指被检测样品流经色谱柱和检测器所得到的信号-时间曲线,又称色谱流出曲线。相关的实验记录可分为三个部分:仪器和材料、实验方法、备注。其中仪器和材料部分包括色谱仪、进样器、检测器、工作站等仪器的信息,药材、对照品、试剂等材料的信息,实验方法部分包括色谱柱(固定相)、流动相、柱温、流速、检测波长、进样量等色谱条件信息,以及对照品溶液制备方法、供试品溶液制备方法等。
中药指纹图谱的流出曲线是一个信号-时间曲线,因此需要一个二维信号-时间坐标系,这个坐标系可以用line元素来描述。中药指纹图谱的流出曲线具有很多个离散的数据采样点,实质上是由这些点连接而成。采样率必须足够高,以便能很好地代表色谱,但不能太高,以免收集的数据过多。在液相、气相和离子色谱中,对于所检测的感兴趣的最窄峰,从峰开始到峰结束的范围内,最佳采样率应至少产生15个数据点。通常,中药指纹图谱的采样频率从2点/秒到40点/秒不等。SVG是文本式的矢量图形格式,因此描述文本内容的实验记录自然是轻而易举。完整的SVG中药指纹图谱图如图1所示。
图1 完整的SVG中药指纹图谱图
4.2 基于SVG的中药指纹图谱文档的生成
生成SVG文档主要有两种不同的技术路线,一种是通过XML+XSL,由XSLT(XSL转换程序)将XML文档输出到SVG文档。另一种是使用Batik开发类包所提供的SVGGraphics2D类。本文使用Batik开发类包所提供的SVGGraphics2D类。
Batik是一个基于JAVA应用程序和applets的工具包,它可用来产生SVG格式的图形文档,来满足不同的需要[3]。在JAVA平台上,所有的渲染都是通过java.awLGraphics2D这个抽象类,而SVGGraphics2D是这个接口的一种新的实现,它产生SVG内容,而不是绘制到屏幕或者打印机。SVGGraphics2D提供了以下的技术支持:允许应用程序以SVG的格式输出它们的图形;输出SVG格式的绘制图形代码无须任何更改;通过使用DOM API,提供给使用者操纵生成文档的能力。DOM树是SVG文档在内存中的表示形式,开发人员可以通过DOM API对其作迸一步的处理。或者将其输出到任何Java.io.Writer。换一种说法,每当Java调用一个渲染方法,例如drawRect,SVGGraphics2D将生成对应的SVG内容。并追加到DOM树中。最终,一系列渲染操作生成的DOM树代表了开发人员创建的图形,图形内容与其它实现完全一致,唯一的不同是用SVG描述的。
生成SVG文档的步骤:(1)先创建一个用来产生XML内容的org.w3c.dora.Document实例,然后用上面的Document实例创建一个SVG产生器。(2)在SVG产生器上调用绘制方法,如paint方法。(3)输出SVG内容。SVG产生器可以将它的内容输出到任何Java.io.writer,比如输出到一个文件。SVGGraphics2D的工作原理如图2所示。
图2 SVGGraphics2D的工作原理
4.3 基于SVG的中药指纹图谱文档的语义研究
一个RDF文档必须至少有一个根元素,就是rdf元素。这个元素放在http://www.w3.0rg/1999/02/22-rdf-syntax-ns#名字空间中,因此在RDF的文档声明里必须包含这个名字空间的声明。RDF文档中,Description元素的about属性表示所要描述的资源,Name元素作为Description元素的子元素,表示属性类型,Name元素的内容即是属性的值。RDF允许任何人自由制订及使用不同的标准或非标准的词汇表,只要把它们放在一个名字空间并声明即可。有时候,一个资源拥有多个属性。那么这些属性都可以以子元素的形式添加到Description元素中。
一个RDF文档可以包含很多个类似上面的语句代码,每个RDF语句都用一个Description元素描述。
上文已经解决了中药指纹图谱的SVG描述问题,但是这样的SVG文档并不具有语义,即计算机仍然不知道所显示的图片是关于什么内容的。好在SVG规范提供了3个元素来描述元数据,它们是:title、desc、metadata元素。所谓元数据就是描述数据的数据,其作用是为了表示所描述的数掘的意义,这个“元”字是存在于用户的大脑之中的。SVG文档中的大多数元素都可以包含上述3个元素,SVG对这3个元素的内容没有进行限制,但是它们要受到以下两个约束:1.元素内容必须是形式规范的XML。2.元素内容可以使用任何XML词汇,只要为其指定名字空间,以和SVG元素相区分。
由以上可知,如果在SVG文档中添加上述元素,即可以实现语义。
这样,计算机在处理指纹图谱的时候,能够明确的知道这是关于什么药材的指纹图谱,以及能够明确的知道该药材的其他相关信息,比如其中文名、拉丁名、英文名、来源等等。
五、 结语
本文研究了中药指纹图谱技术的发展现状,发现存在的问题,即尚没有一种高效、直观、方便的描述中药指纹图谱的文档格式;研究了基于XML的SVG规范,提出并实现了基于SVG的中药指纹图谱文档描述模型;在此基础上,进一步研究了基于SVG的中药指纹图谱文档的生成及其语义。这些工作对于中药指纹图谱技术的进一步发展、中药本体知识库的构建,都县有一定的参考价值和探索意义。
参考文献:
罗国安,王义明.中药指纹图谱的分类和发展.中国新药杂志.2002,11(01):46.
W3C,Scalable Vector Graphics(SVG)IZ].http://www.w3.org/TR/SVG.
BatikI[z].http://xml.apache.org]batik/.
第一作者简介:杨津听,1969年生,男,汉族,正高级工程师,工程硕士,从事的主要工作:电力拖动自动控制系统,DCS系统,MES系统,先进控制系统,非线性系统、混沌系统的研究、设计、制造;通讯方式:邮编:650221,云南省昆明市龙泉路上马村五台路2号 昆明电器科学研究所。
5/5