语义网简明教程SW6-OWL-Jena.pptx

上传人:b****1 文档编号:1726873 上传时间:2022-10-23 格式:PPTX 页数:69 大小:615.74KB
下载 相关 举报
语义网简明教程SW6-OWL-Jena.pptx_第1页
第1页 / 共69页
语义网简明教程SW6-OWL-Jena.pptx_第2页
第2页 / 共69页
语义网简明教程SW6-OWL-Jena.pptx_第3页
第3页 / 共69页
语义网简明教程SW6-OWL-Jena.pptx_第4页
第4页 / 共69页
语义网简明教程SW6-OWL-Jena.pptx_第5页
第5页 / 共69页
点击查看更多>>
下载资源
资源描述

语义网简明教程SW6-OWL-Jena.pptx

《语义网简明教程SW6-OWL-Jena.pptx》由会员分享,可在线阅读,更多相关《语义网简明教程SW6-OWL-Jena.pptx(69页珍藏版)》请在冰豆网上搜索。

语义网简明教程SW6-OWL-Jena.pptx

,语义网开发工具:

Jena,1,Jena,Jena由HPLabs(http:

/)开发的Java开发工具包用于开发语义网的应用系统Jena的功能解析RDF模型提供对RDFS、OWL、DAML+OIL等本体的操作支持基于本体的规则的推理和验证,2,Jena,Jenaincludes:

ARDFAPIReadingandwritingRDFinRDF/XML,N3andN-TriplesAnOWLAPIIn-memoryandpersistentstorageSPARQLqueryenginearule-basedinferenceengine,3,一、解析RDF模型,Jena定义了许多接口来访问和处理RDF陈述RDF图称为模型,用Model接口表示陈述用Statement接口表示资源用Resource接口表示属性用Property接口表示常量用Literal接口表示提供了一个RDFNode接口作为Resource、Property、Literal的超接口通过接口操作RDF创建资源、属性等RDF元素添加、删除模型中的陈述查询RDF模型以XML/RDF、三元组格式读写RDF文档,4,创建简单RDF模型,创建描述一组虚构家庭成员之间关系的模型,使用来自“关系”词汇表(http:

/purl.org/vocab/relationship)的属性siblingOf、spouseOf、parentOf和childOf来描述家庭成员之间关系。

家庭成员用来自虚构名称空间的URI(http:

/family/)进行标识,5,1、创建模型,模型是RDF图在Jena中的表示形式模型由一组RDF陈述组成通过模型可以创建资源、属性、常量增加、删除陈述可进行查询模型创建模型ModelFactory类用于创建不同类型的模型ModelFactory.createDefaultModel():

创建一个空的、内存模型,返回Model实例例:

Modelmodel=ModelFactory.createDefaultModel();,6,2、创建属性,使用Model.createProperty创建属性PropertycreateProperty(StringnameSpace,StringlocalName)nameSpace:

命名空间localName:

属性局部名称/NamespacedeclarationsStringfamilyUri=http:

/family/;StringrelationshipUri=http:

/purl.org/vocab/relationship/;/CreatethetypesofPropertytodescriberelationshipsinthemodelPropertychildOf=model.createProperty(relationshipUri,childOf);PropertyparentOf=model.createProperty(relationshipUri,parentOf);PropertysiblingOf=model.createProperty(relationshipUri,siblingOf);PropertyspouseOf=model.createProperty(relationshipUri,spouseOf);,7,3、创建资源,使用Model.createResource创建资源ResourcecreateResource(Stringuri)uri:

资源的URI/CreateresourcesrepresentingthepeopleinourmodelResourceadam=model.createResource(familyUri+adam);Resourcebeth=model.createResource(familyUri+beth);Resourcechuck=model.createResource(familyUri+chuck);Resourcedotty=model.createResource(familyUri+dotty);Resourceedward=model.createResource(familyUri+edward);Resourcefran=model.createResource(familyUri+fran);Resourcegreg=model.createResource(familyUri+greg);Resourceharriet=model.createResource(familyUri+harriet);,8,4、添加陈述,使用Resource.addProperty添加关于资源的陈述到模型ResourceaddProperty(Propertyp,RDFNodeo)p:

陈述的谓词,o:

陈述的客体,本资源为主体/Addpropertiestodescribingtherelationshipsbetweenthemadam.addProperty(siblingOf,beth);adam.addProperty(spouseOf,dotty);adam.addProperty(parentOf,edward);adam.addProperty(parentOf,fran);beth.addProperty(siblingOf,adam);beth.addProperty(spouseOf,chuck);chuck.addProperty(spouseOf,beth);dotty.addProperty(spouseOf,adam);dotty.addProperty(parentOf,edward);dotty.addProperty(parentOf,fran);,9,4、添加陈述(续),也可使用Model.createStatement创建陈述StatementcreateStatement(Resources,Propertyp,RDFNodeo)Modeladd(Statementstmt)/Statementscanalsobedirectlycreated.Statementstatement1=model.createStatement(edward,childOf,adam);Statementstatement2=model.createStatement(edward,childOf,dotty);Statementstatement3=model.createStatement(edward,siblingOf,fran);/.thenaddedtothemodel:

model.add(statement1);model.add(statement2);model.add(statement3);,10,4、添加陈述(续),/ArraysofStatementscanalsobeaddedtoaModel:

Statementstatements=newStatement5;statements0=model.createStatement(fran,childOf,adam);statements1=model.createStatement(fran,childOf,dotty);statements2=model.createStatement(fran,siblingOf,edward);statements3=model.createStatement(fran,spouseOf,greg);statements4=model.createStatement(fran,parentOf,harriet);model.add(statements);/AListofStatementscanalsobeaddedListlist=newArrayList();list.add(model.createStatement(greg,spouseOf,fran);list.add(model.createStatement(greg,parentOf,harriet);list.add(model.createStatement(harriet,childOf,fran);list.add(model.createStatement(harriet,childOf,greg);model.add(list);,11,5、查询RDF模型,Model接口提供对模型中的资源、属性、陈述等的查询listStatements():

ListallstatementslistStatements(Resources,Propertyp,RDFNodeo):

Findallthestatementsmatchingapattern.listSubjects():

Listallresourceswhicharesubjectsofstatements.listSubjectsWithProperty(Propertyp):

ListallsubjectswithagivenpropertylistObjects():

Listallobjectsinamodel.listObjectsOfProperty(Propertyp):

Listallobjectsofagivenproperty,12,5、查询RDF模型(续),列出陈述StmtIteratorlistStatements()列出所有陈述结果存放在陈述迭代器中StmtIteratorlistStatements(Resources,Propertyp,RDFNodeo)查找满足给定模式的陈述s:

查找的资源,p:

查找的谓词,o:

查找的客体参数可为null,表示匹配任何值例如:

/Findtheexactstatementadamisaspouseofdottymodel.listStatements(adam,spouseOf,dotty);,13,5、查询RDF模型(续),例:

/FindanystatementsmadeaboutadamStmtIteratoriter=model.listStatements(adam,null,(RDFNode)null);/printoutthepredicate,subjectandobjectofeachstatementwhile(iter.hasNext(),14,/getnextstatement/getthesubject/getthepredicate/gettheobject,Statementstmt=iter.nextStatement();Resourcesubject=stmt.getSubject();Propertypredicate=stmt.getPredicate();RDFNodeobject=stmt.getObject();System.out.print(subject.toString();,System.out.print(+predicate.toString()+);if(objectinstanceofResource)System.out.print(object.toString();else/objectisaliteralSystem.out.print(+object.toString()+);System.out.println(.);,5、查

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 初中作文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1