网球动用Jena RDF API 开发脚本语言管理资源描述框架模型

摘要

慎选自《生活就如练习》肯威尔伯 著 北京:同心出版社,2012.6

  
  资源描述框架(Resource Description Framework
RDF)是同种为XML格式描述元数据的正规化格式。Jena是同一种植用于将关系数据库或是文本文件被所表示的多少建立也首批数据模型的框架方法。
Protégé 用用来创造RDF元数据文档的编排工具。
建立这种数据库和文件的首先数据模型需要由用户自己定义脚本。本文介绍介绍了SemantiRDFUtils这种本子,它有着多个作用块好用于保护
Jena RDF 元数据模型.(2200词,2005-7-4) By Venkata N.VAsam
  
  和XML成为例外软件
厂商之间数据交互的正统过程相似,资源描述框架(RDF)也本着这长长的道路发展,希望会成叙和相互长数据的科班。XML
使用文件类型定义(DTD)和XML格式定义(XSD)来描述数据。RDF使用XML语法和RDF
Schema(RFDS)来以首届数据描述成多少模型。
  
  本文介绍了同一种植使Jena RDF API
编写的用户从定义工具,使用这种工具来治本存储于关系数据库或是文本文件的数据模型。这种工具是由于HP实验室开发的,Jena框架是一个RDF,RDFS以及OWL(Web
Ontology Language)的开源实现,
它包含在一个根据规则的推断引擎。它提供了建及操纵RDF模型的Java
API。本文介绍的SemanticRDFUtils.bat是如出一辙种采取Jena开发之台本。使用这种本子,我们得以保护存储以关系数据库和文件文件被之初数据模型。本文还介绍了怎样利用Protégé来拿建RDF的语意描述文件(.rdfs)和数据文件(.rdf)。
  
  软件安装
  
  以使用SemanticRDFUtils.bat之前须事先安装以下的软件。关于以下工具的链接求参看文中所附的资源。
  J2SE 1.3 或更胜似的本
  Jena 2.0
  Oracle 9.2.0.1.0
  Apache Ant 1.5.4 或更新的版本
  Protégé 2.1
  
  RDF和RDFS 文件简要介绍
  
 
 下面的XML格式的RDF和RDFS文件用于展示一个假名逐一的接力引用模型。它们是使用Protégé
2.1
的图形界面工具创建的。当尽脚本和RDF查询工具的时候我们可以动态的引入RDF文件。RDFS文件则在我们使用Protégé
给RDF文件被入更多多少时利用。
  
  

察觉状态

列表1. RDFTest1.rdf

意识状态属于即最好有意思之钻研世界,这个世界的练习吧较为成熟。各种状态纷至沓来,持续片刻后同时流失了,它们短暂而形成。我们每天都以各种状态被循环:高兴,厌烦,恐惧,失望,愤怒,觉醒,好奇······这些状态就这样循环,川流不息。

  

季样子限内出的有所现象都使更多状态,这包括上之私房象限和下方的官象限。如果某个企业更了金融风暴,几单月之后还要复苏恢复,那么,它就是更了右手下象限的临时状态变化。你啊得考虑在饱受恐怖分子袭击后,左下象限的通文化中所激发的联名仇恨以及恐怖。每个象限都见面出不久之状态变化,图5.16凡几只其他例子。

 网球 1

情绪状态

冥想状态

创造状态

放松状态

高峰体验状态

大脑状态

生物状态(如健康、生病)

人际/关系状态

共同意义状态

共同感情状态

交流状态

经济状态

政治状态

天气情况

战争状态

  

 

列表 2. RDFTest1.rdfs

图5.16 季象限的状态

  

状态还可是进行个人经历的神奇门户,经由它,我们得感受到意识的顶潜力。此外,它也会短暂地映入眼帘其他世界。狂喜或高峰体验的状态异常肯定,你生出无产生已大热烈地做容易,以至于感觉自己同性伴侣完全融为一体?打网球的时刻,你是否早已进入状态,可以把球从及球场上之另外岗位?在山林中穿行时,你不过就体验过和身边郁郁葱葱的绿意完全融合的觉得?你是否听罢特别了不起的音乐,感觉到自己之心灵完全敞开,敏感而而展露无遗,原始之不亦乐乎和生的惨痛浸透你的全方位身心?想想最近那么不行受您过平凡知觉、惊鸿般瞥见各种可能的主峰体验,有些时候,那些会安居乐业而更随心所欲地朝着更胜意识状态的冥想者和神秘主义者甚至会见再接再厉塑造这些状态。

 网球 2

季镜子,和重新胜似状态? 
                                                                                                          

  Jena和Protégé概述
  
  本节在总层面上介绍Jena和Protégé。用户可以以附加资源遭受赢得关于这片只活更多的音信。本文的目的是一旦您对Jena和Protégé有一个比较清晰的知。
  
  Jena RDF 和RDQL
  
  RDF数据模型是一个宣称(statement)的会师,每一个声明还席卷三单部分:资源,属性与价值。
资源(resource)可以是其余利用URI标示的始末,它可涵盖其他性质。每一个性能有一个价。
  
 
 Jena可以将RDF模型保存在关系数据库或是文件中。RDQL是因此来查询RDF模型的言语。RDF提供平等栽节点可以吧资源或文本的起往图(有往图
的定义请参见《离散数学》)。RDQL则提供平等种植办法,由用户定义一种图模式,使用这种模式对目标图集合进行匹配,获得有符合定义模式的结果。图1
使用RDF图来代表列表1跟列表2中文件
  

或多或少伟大之苦思冥想传统描述了另外两独状态,据说只有很有经验的冥修者才会达成。这片单状态且“超越”了清醒、做梦和深度睡眠就三独至关重要状态。

 网球 3

在图里亚(字面意识是“第四”)状态,个人既无关心粗重的清醒体验,也未关注梦境和视觉经验被更深邃的现象。事实上,注意力不再集中为外现象,甚至为无体贴极精微的静谧状态及纵深无梦睡眠的不变状态。无论生啊,或什么呢非起,意识还保持着平静。意识就是主导或者有所经验的闲人,它鲜明而苏,贯穿觉醒、梦与浓无梦睡眠状态。如果这种内观意识(“witnessing
awareness)变得格外有力,它可在分分秒秒都保持着安静!不论有了啊工作,也任身心做在什么业务,这种觉解都能心平气和地安住于自家内部。

  

比方在图亚塔亚状态(字面意思是“第四地步之上“),这种稳定的内观意识会继续增强,最终,觉察的心与所觉的物中的各自消失了。”体验的本位“和“被体验到的客体”之间的隔离感消失了。这时,个人就能够体验到内在世界和外在世界是严密的,并超过其他主体/客体的分离(既内外无次,心境同体)!

图1:范例RDF文件的RDF 图表示

 

  
  上图被,椭圆代表资源,长方形表示描述。资源通过箭头连接到任何的资源或描述值(一个对象可能一个价值)上,这样同样组关系形成一个三元组,成为一个声明(statement)。
  
  下面让我一个RDQL查询的例证。三元组(?x
“97”)是一个声明。X是一个绑定的变量用来表示一个资源;http://www.vvasam.com/Maana\#value是一个叫做“value”的属性;97是这个属性的值。
  
  SELECT ?x WHERE (?x “97”)
  
  Jena的toolkit提供了一个每当命令执行道执行之Java看似(jjena.rdfquery)来开展RDQL查询。下面的事例演示了若下此命令进行询问并将查询结果存入test1.rdql中。
  java jena.rdfquery –data RDFTest1.rdf –query test1.rdql
  x
  ================================================
  http://www.vvasam.com/Maana\#RDFTest\_Instance\_8
  
  注意:通过文后之资源链接来获得有关RDF和RDQL更多的信息。
  
  RDF 中使用Protégé
  
  Protégé
是一个用来建立和编ontologies和知识库的GUI工具。Protégé可以以RDF格式下创造和保留数据。在应用Protégé建立RDF模型时,需要在新建一个工程的时候选择RDF
Schema,如图2所出示。
  

汝属于什么类型

 网球 4

片差异不是纵向的要么提高的,可能有数单对象差异大大,却并无层次高低的于。AQAL框架用型是词描述这看似横向差异。关于项目的例证十分多:

  

乐类型:爵士、摇滚、经典、重金属。

图2. RDF Schema工程

言语彩类型:积雨云、层云、卷云、雨云。

  
  于Protégé’s工程菜单选择新建工程时,选择格式(Select
Format)对话框会弹出。点击OK按钮,图3的窗口会出现。
  

言语类:印欧语系、汉藏语系、南太平洋语系。

 网球 5

涉及项目:亲子、手足、友谊、职业、爱情。

  

发色类型:金色、褐色、白色、红色、黑色。

贪图3. 缺省Protégé工程视图

地理类型:沙漠、森林、热带草原、沼泽、苔原 、山岳。

  
  正而您在祈求3遭到所看到的那样,Protégé有一对签。本文主要介绍中的Classes,Instances和Algernon标签。
  
  图4显示了Protégé的保留对话框。在中间用户可以填充入工程,类公事,实例文件,和命名空间的名字。如图4所展示,类公事称受概括RDF
Schema的消息,实例文件称遭连RDF的数据。命名空间受到以唯一URI的方标示出RDF模型。
  

若可能发现自己通常还爱某种类型,例如你恐怕喜欢爵士胜过摇滚,喜欢住在海边而非爱好住在山脚下,喜欢金发胜过黑发,或者迷恋雨云。但要还重复的是,我们无克说某某项目又浓、更发达、比其他项目又好,它们只是不同的品种。每种型且起异之特征、优点和短处,天赋和缺陷。AQAL认为,所有品种且相同举足轻重,我们不应该忽视任何类型。氦和碳是零星栽原子类型。分子于原子更复杂,因为分子超越同含了原子。层次代表纵向差异,类型代表横向差异。

 网球 6

探望这些名:拿破仑·波拿马、海伦·凯勒、亨利·福特、弗里德里希·尼采、米开朗琪罗、帕特·罗伯逊、马莉·库里、开膛手杰克、芭比·鲁斯、马克·吐温、圣女贞德。他们都格外资深又挺不同,对吧?对活遭之题目,如“你是何人?”或者“你要什么”或者“你的极关怀是啊?”他们的答案自然乱七八赖。虽然上面列举的这些人口的觉察层次并不相同,但她俩都有同等码相似的移动学类型:左撇子。你可是左撇子奴隶,左撇子科学家,左撇子圣人(也许在您的终身中兼任具有这三栽身份),虽然你在不同的前行路子中发展之层系越来越高、越来越厚,但若的路基本不换。

  

而今,我们来更密切地洞察道德发展路子的类型,读者也许还能记得,它们由自我中心变至种族中心,再换及世界主导(及重新胜似)。研究者发现,男性与女性的德性发展各个相同,但重点或态度差。男性化方向更胜似之人见面经过与女性同的直发展阶段,但再也大力强调权利与公,女性化取向更胜似之总人口尽管另行讲求责任以及关切。

祈求4: Protégé’s保存对话框

甭管你是阳要女性,你的花色且只体现了前进的特点而休是构造。男人以及太太都有男性特征面和女特征面(就比如她们都产生左及右侧)。只不过,在先生身上,男性角色占主导地位,而于女人身上,女性取向更胜(就如我们司空见惯还多地用有只是手,而无是另外那就)。当然,有的男人或许产生双重强的女性化倾向,有的女人则男性化倾向还胜似。这证明了他们能取向的程度距离。

  
  图5和图6显示的是Protégé’s类标签以及实例标签,分别代表了列表1暨列表2蒙受的.rdf和.rdfs文件。这些文件使用Protégé’s
schema 格式创建。
  

趁整体意识的成人,我们就算能善待自己存在的全部,包括好和人家内在的男性与女性能。这不意味我们务必减两点,不给任何一方占据主导地位。恰恰相反!根据性和这之需,我们可以重男性化或重女性化!区别在于,我们不因为抑制女性风采呢代价来刺激男性气质,反之亦然。例如,我们好在工作中更有进取心(男性化),但回家后却激起起重新柔软、温良的女性化气质。这有赖于我们内在的男性化和女性化趋势如何来作用,以及我们以现实地中甄选什么应对世事。

 网球 7

 

  

希冀5: Protégé的类似标签

  

 网球 8

  

贪图6: Protégé的实例标签

  
  Protégé中的Algeronon 查询
  
   Protégé’s的Algernon
query标签也进行Algernon查讯提供了一个图形界面,用户可于斯UI当中进行询问,并查阅结果。Algernon是同样种植基于三头版组的查询语
言,如图7所示Algernon将资源为遍历(traversal)路径的艺术赶回给用户。缺省的Algernon并无见面使下图那样显示。要看这个标
签,用户必须从工程菜单的设置子菜单中选择。
  

 网球 9

  

图7. Algernon 标签

  
  Jena与Protégé之间的命名(terminology)映射
  
  由于Jena和Protégé是有限独不同的开源技术,所以她们之RDF
命名(terminology)存在差距。下表中列有了这些命名规则,用户可再有这些命名规则来创造与拍卖RDF文件。
  
  

说明1. Jena 及 Protégé 命名比较

  

 网球 10

  Jena 的语义RDF工具
  
 
 一省讲解了有用来保护Jena数据库和文书模型的可行之家伙/脚本。这些本子文件包含在SemanticRDFUtils-scripts-
files.zip文件中,您得以资源中找到。下面的列表中讲述了这些本子文件可以实施之天职。当用户为没有任务ID号作为参数的一声令下执行措施实施
SemanticRDFUtils批判处理文件时,下面的情节将会见现出于您的控制台当中
  

 网球 11

  以上各级任务ID的意分别吗:
  
  1:建立并初始化一个Jena系统表,系统模型名吧JenaRDFSystem
  2:建立数据库模型
  3:删除一个数据库模型
  4:列出所给有模型中的情节
  5:将RDF/XML文件导入数据库
  6:列出存在数据库模型的讳
  7:将数据库模型导出到RDF/XML文件中
  8:删除一个数据库模型中的具有内容
  9: 为不同RDF/XML文件模型建立一个合的RDF/XML文件
  10:建立不同RDF/XML文件直接的搅和文件。
  11: 建立不同RDF/XML文件直接的差集文件。
  12:得到给定模型的大小
  13:将RDF查询结果保存于RDF/XML文件中
  14:从RDF查询结果模型中去资源
  
  SemanticRDFUtils脚本使用SemanticRDFUtils.properties文件储存配置信息。下表给闹了布置信息被的具有属性:
  
  

表 2. 性能设置

  

网球 12

  任务
  
  第一独任务是以数据库中建立一个Jena 系统表并要求下列属性的正确值:
  
  rdf_sytem_model_name
  db_user
  db_password
  isRDFInDB
  url
  
  第二只任务是当数据库建立一个新的RDF模型并求下列属性之正确值:
  
  rdf_sytem_model_name
  db_user
  db_password
  isRDFInDB
  url
  modelName (如果这特性也空,那么脚本会提示用户从键盘输入值)
  
  第三个任务是由数据库被去RDF模型并求之下属性之正确值:
  
  rdf_sytem_model_name
  db_user
  db_password
  isRDFInDB
  url
  modelName (如果此特性也空,那么脚本会提示用户从键盘输入值)       

 

季只任务是列出RDF数据库被的情连要求之下属性之正确值:
        rdf_sytem_model_name
        db_user
        db_password
        isRDFInDB
        url
        modelName (如果这个特性也空,那么脚本会提示用户从键盘输入值)

第五个任务是将RDF导入到数据库模型中,并要求之下属性之正确值:
        rdf_sytem_model_name
        db_user
        db_password
        isRDFInDB
        url
        modelName (如果此特性也空,那么脚本会提示用户从键盘输入值)
        import_rdffile_abs_name
属性import_rdffile_abs_name值将给置为.rdf文件之绝对路径(如下的例子所示)。如果此价也空那脚本会提示用户从键盘输入值。
import_rdffile_abs_name=C:/temp/RDFTest1.rdf

第六只任务是列出一个数据库模型中装有的型,需要以下的属性之正确值:
        rdf_sytem_model_name
        db_user
        db_password
        isRDFInDB
        url

第七只任务是用指定数据库模型的情导出到一个RDF文件中,需要以下的习性之正确值:
        rdf_sytem_model_name
        db_user
        db_password
        isRDFInDB
        url
        modelName (如果这属于性值为空,脚本将唤起用户从键盘输入)
        import_rdffile_abs_name
属性export_rdffile_abs_name值将受置为.rdf文件的绝对路径(如下的例子所示)。如果这价为空那脚本会提示用户从键盘输入值。
export_rdffile_abs_name=C:/temp/export.rdf

第八个任务是打数据模型中去内容,需要以下是的属性值:
        rdf_sytem_model_name
        db_user
        db_password
        isRDFInDB
        url
The ninth task performs a union operation on two file models and
requires appropriate values for the following properties:

第九独任务是对准片个文档模型进行并集操作,需要以下是的属性值:
        isRDFInDB
        url
               file_rdfmodel1_abs_name
        file_rdfmodel2_abs_name
        result_rdfmodel_abs_name
下是一个范例的属于性值:

file_rdfmodel1_abs_name=C:/temp/RDFTest1.rdf

file_rdfmodel2_abs_name=C:/temp/RDFTest2.rdf

result_rdfmodel_abs_name=C:/temp/RDFTestUnion.rdf

当使用SemanticRDFUtils执行任务9之时段,两只.rdf文件会给联合。如果如当一个合并之.rdf文件及树一个Protégé工程,.rdfs文件必须叫手工生成。

第10独任务是执行两独文本模型的杂操作,需要盖下属性的正确值:
        isRDFInDB
        url
        file_rdfmodel1_abs_name
        file_rdfmodel2_abs_name
        result_rdfmodel_abs_name
脚是一个范例的属性值:

file_rdfmodel1_abs_name=C:/temp/RDFTest1.rdf
file_rdfmodel2_abs_name=C:/temp/RDFTest2.rdf
result_rdfmodel_abs_name=C:/temp/RDFTestInterSection.rdf

第11独任务是推行两个公文模型的差集操作,需要为下属性的正确值:
        isRDFInDB
        url
        file_rdfmodel1_abs_name
        file_rdfmodel2_abs_name
        result_rdfmodel_abs_name
下面是一个范例的属于性值:

file_rdfmodel1_abs_name=C:/temp/RDFTest1.rdf
file_rdfmodel2_abs_name=C:/temp/RDFTest2.rdf
result_rdfmodel_abs_name=C:/temp/ RDFTestDifference.rdf

第12个任务是列出指定数据库模型的高低,需要为下属性的正确值:
        rdf_sytem_model_name
        db_user
        db_password
        isRDFInDB
        url
        modelName (如果此价值吗空那脚本会提示用户从键盘输入值)

第13只任务将对准数据库模型的一个RDF查询结果导出到一个RDF文件中,需要盖下属性的正确值:
        rdf_sytem_model_name
        db_user
        db_password
        isRDFInDB
        url
        modelName (如果这属于性值为空,脚本会要求用户从键盘输入值)
        rdf_query
        bind_var_name
        export_rdffile_abs_name
下是一个范例的属于性值:

rdf_query=SELECT ?x WHERE (?x    "65")
bind_var_name=x
export_rdffile_abs_name=C:/temp/exportquery.rdf

第14只任务是用一个拿数据库模型的RDF查询结果删除,需要盖下属性的正确值:
        rdf_sytem_model_name
        db_user
        db_password
        isRDFInDB
        url
        modelName (如果这属于性值为空,脚本会要求用户从键盘输入值)
        rdf_query
        bind_var_name
下面是一个范例的属性值:

rdf_query=SELECT ?x WHERE (?x    "65")
bind_var_name=x

结论

首文章介绍了哪些使用Jena和Protégé来创造RDF源数据模型。并描述了怎样使用SemanticRDFUtils在命令行脚本方式下护
RDF模型。在就首文章的资源中的SemanticRDFUtils-source-files.zip文件包含了能用来创造基于Web接口或是
Protégé的插件的源文件,使用它们可管理RDF模型。针对各个一个RDF模型所加载的脚文会有所不同,所以要区分对待,每一样栽状态都设独立处理。

关于作者:
Venkata N. Vasam 主要工作领域是J2EE/Web services/EAI
架构。目前客运用SeeBeyond集成工具包(eGate和ICAN)为A2A和B2B集成要求提供Web服务/J2EE/EAI
架构。他得到了J.N.T University,Hyderabad,
India的电脑是及工学位。业余时间Vasam喜欢打网球看喜剧和移动电影。

gracepig是(Matrix.org.cn)的会员,可以由此zhangchi_nwpu@hotmail.com和他沟通。

资源
文中的源码下载地址
http://www.javaworld.com/javaworld/jw-07-2005/jena/jw-0704-jena.zip
“What is RDF?” 作者 Tim Bray (XML.com, 一月 2001):
http://www.xml.com/pub/a/2001/01/24/rdf.html
        RDF 规范
http://www.w3.org/RDF/
        Jena下充斥地址
http://jena.sourceforge.net/downloads.html
        RDF和Jena RDF API简介
http://jena.sourceforge.net/tutorial/RDF\_API/index.html
        Jena2: 一栽语意Web框架
http://www.hpl.hp.com/semweb/jena2.htm
        RDQL:
http://jena.sourceforge.net/tutorial/RDQL/index.html
        RDF 入门
http://www710.univ-lyon1.fr/~champin/rdf-tutorial/
        Protégé 入门
http://protege.stanford.edu/doc/tutorial/get\_started/index.html
        Protégé 下载
http://protege.stanford.edu/download/download.html
        Algernon标签
http://algernon-j.sourceforge.net/doc/algernon-protege.html
        ava 下充斥地址
http://java.sun.com/
        Oracle下载地址
http://www.oracle.com/technology/software/index.html 

转载:http://blog.csdn.net/bittermelon/article/details/1866025

http://java.chinaitlab.com/core/34654.html