首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Jena中提取FOAF信息

从Jena中提取FOAF信息
EN

Stack Overflow用户
提问于 2011-09-29 09:52:10
回答 1查看 513关注 0票数 0

我是新来的,我对FOAF有一些问题。我使用jena创建一个FOAF,如下所示:

代码语言:javascript
复制
<rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
    <foaf:phone>12312312312</foaf:phone>
    <foaf:nick>L</foaf:nick>
    <foaf:name>zhanglu</foaf:name>

但是我想要FOAF这样的节目:

代码语言:javascript
复制
<foaf:Person>
    <foaf:phone>12312312312</foaf:phone>
    <foaf:nick>L</foaf:nick>
    <foaf:name>zhanglu</foaf:name>
</foaf:Person>

我能做什么?

这是我的源代码:

代码语言:javascript
复制
Model m = ModelFactory.createDefaultModel();
m.setNsPrefix("foaf", FOAF.NS);

Resource r = m.createResource(NS);
r.addLiteral(FOAF.name, "zhanglu");
r.addProperty(FOAF.nick, "L");
r.addProperty(FOAF.phone, "123123123");
r.addProperty(RDF.type, FOAF.Person);

FileOutputStream f = new FileOutputStream(fileName);
m.write(f);

谁能告诉我?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-04 19:04:14

首先要说的是,您引用的两种形式对RDF具有完全相同的含义-即,当解析到RDF图中时,它们产生完全相同的三元组集合。因此,通常不值得担心作者生成的XML的确切语法。一般来说,RDF/XML不是一种易于阅读的语法。如果您只想序列化Model,以便稍后可以再次读取它,我建议您使用Turtle syntax,因为它更紧凑,更易于阅读和理解。

但是,您可能需要特别关注XML序列化的一个原因是,如果您希望文件成为XML处理管道(例如,XSLT或类似的)的一部分。在这种情况下,您可以通过更改示例的最后一行来生成所需的格式:

代码语言:javascript
复制
m.write( f, "RDF/XML-ABBREV" );

或者,等同地,

代码语言:javascript
复制
m.write( f, FileUtils.langXMLAbbrev );
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7591600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档