以文本方式查看主题

-  W3CHINA.ORG讨论区 - 语义网·描述逻辑·本体·RDF·OWL  (http://bbs.xml.org.cn/index.asp)
--  『 Semantic Web(语义Web)/描述逻辑/本体 』  (http://bbs.xml.org.cn/list.asp?boardid=2)
----  为什么Resource rdf:ID为相对URI,读入后自动加上文件URI?  (http://bbs.xml.org.cn/dispbbs.asp?boardid=2&rootid=&id=75392)


--  作者:achenal
--  发布时间:6/16/2009 10:10:00 AM

--  为什么Resource rdf:ID为相对URI,读入后自动加上文件URI?
例如rdf文件
<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cim="http://iec.ch/TC57/2007/CIM-schema-cim12#">
 <cim:IEC61970CIMVersion rdf:ID="_301">
  <cim:IEC61970CIMVersion.version>cim6197011v09</cim:IEC61970CIMVersion.version>
  <cim:IEC61970CIMVersion.date>2007-06-12</cim:IEC61970CIMVersion.date>
 </cim:IEC61970CIMVersion>
</rdf:RDF>

用jena读入
model.read("file:/E:/doc/test.rdf", "RDF/XML-ABBREV");

再打印
model.write(System.out);

就变成了
<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cim="http://iec.ch/TC57/2007/CIM-schema-cim12#">
 <cim:IEC61970CIMVersion rdf:ID="file:/E:/doc/test.rdf#_301">
  <cim:IEC61970CIMVersion.version>cim6197011v09</cim:IEC61970CIMVersion.version>
  <cim:IEC61970CIMVersion.date>2007-06-12</cim:IEC61970CIMVersion.date>
 </cim:IEC61970CIMVersion>
</rdf:RDF>

为什么rdf:ID自动加上了file:/E:/doc/test.rdf#,变成绝对URI?怎样避免自动加?
谢谢


--  作者:jpz6311whu
--  发布时间:6/16/2009 11:30:00 AM

--  
这个要设置一下xmlbase
--  作者:Humphrey
--  发布时间:6/16/2009 11:36:00 AM

--  
版主同志的意思是说,Jena的xmlbase?是在配置文件中的一项吗?
--  作者:achenal
--  发布时间:6/16/2009 12:35:00 PM

--  
是的,在RDF配置文件中加入xml:base,可以。
但能Java编程实现么?
--  作者:achenal
--  发布时间:6/16/2009 2:17:00 PM

--  
I find the solution.

String baseURI = "http://iec.ch/TC57/2007/network";
String rdfPath = "file:E:/doc/test.rdf";
InputStream in = FileManager.get().open(rdfPath);
model.read(in, baseURI, "RDF/XML-ABBREV");


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms