以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 Semantic Web(语义Web)/描述逻辑/本体 』  (http://bbs.xml.org.cn/list.asp?boardid=2)
----  求助:利用Jena写OWL文件出现的问题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=2&rootid=&id=29961)


--  作者:tomfang
--  发布时间:4/5/2006 1:34:00 AM

--  求助:利用Jena写OWL文件出现的问题
源文件:
  public static void main(String[] args) {
  OntModel m = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM, null);
   FirstOntology firstonto=new FirstOntology();
   OntDocumentManager mgr = new OntDocumentManager();
   OntModelSpec s = new OntModelSpec(OntModelSpec.OWL_DL_MEM);
   s.setDocumentManager(mgr);
   m = ModelFactory.createOntologyModel(s, null);
   m.read(firstonto.MROntoSpace.getOntUrl(),"");
   firstonto.MROntology=new MulMROntoModelMgr(m);
   .......
   String fileName = "c:\\firsttryontology.owl";
   FileOutputStream ontOutput = new FileOutputStream(fileName);
   m.write(ontOutput);
   }
生成的OWL文件第一行就是不出现<?xml version="1.0" encoding="GBK"?>等声名,不知为什么?请各位高手指教!


--  作者:jpz6311whu
--  发布时间:4/5/2006 10:35:00 AM

--  
你读到内存的m.read(firstonto.MROntoSpace.getOntUrl(),"");它本身是一个什么样的ontology?
--  作者:tomfang
--  发布时间:4/5/2006 8:37:00 PM

--  
是一个用Protege构建的本体,通过该本体生成的XML格式的文件为:
<?xml version="1.0"?>
<rdf:RDF    xmlns="http://218.195.34.18:8080/MROntology/multi_dimen_manu_resource.owl#"    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"    xmlns:xsd="http://www.w3.org/2001/XMLSchema#"    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"    xmlns:owl="http://www.w3.org/2002/07/owl#"    xmlns:Measurement="http://218.195.34.18:8080/MROntology/Measurement.owl/"    xmlns:daml="http://www.daml.org/2001/03/daml+oil#"    xmlns:dc="http://purl.org/dc/elements/1.1/"  xml:base="http://218.195.34.18:8080/MROntology/multi_dimen_manu_resource.owl">  </owl:Ontology>
<owl:Class rdf:ID="应用视图属性"/>  ... </owl:Class>  
....

--  作者:jpz6311whu
--  发布时间:4/5/2006 8:48:00 PM

--  
你把生成的owl文件完整的贴出来看看
--  作者:tomfang
--  发布时间:4/6/2006 9:17:00 AM

--  
本体太大,贴不了.我觉得不是源本体的问题,而是把本体模型操作后写成xml文件过程中出的问题.说到底就是jena API中那个操作可以设置<?xml version="1.0" encoding="GBK"?>的显示问题.不知能否给点意见。
--  作者:kkk305145298
--  发布时间:4/6/2006 9:25:00 AM

--  
请问楼上你的本体有多少个概念?
要建的本体可能涉及到上万个概念不知道到时会不会出现什么问题?
--  作者:jpz6311whu
--  发布时间:4/6/2006 10:42:00 AM

--  
可以把生成的owl文件前面几行贴出来看看,
--  作者:tomfang
--  发布时间:4/6/2006 4:03:00 PM

--  
我建的制造资源方面的本体,涉及的资源类及属性有一千个吧。我是这样做的:
首先通过protege构建了该领域的模型,得到该领域的源本体。然后利用jena读入该本体模型,通过一系列操作后,将内存中改变后的模型存储成owl文件。生成的文件别用记事本打开都是好的,除了第一行声名里没有<?xml version="1.0" >,就是这个问题困扰我,不知我说明白了没?
该文件的前面几行是:
<rdf:RDF    xmlns="http://218.195.34.18:8080/MROntology/multi_dimen_manu_resource.owl#"    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"    xmlns:xsd="http://www.w3.org/2001/XMLSchema#"    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"    xmlns:owl="http://www.w3.org/2002/07/owl#"    xmlns:Measurement="http://218.195.34.18:8080/MROntology/Measurement.owl/"    xmlns:daml="http://www.daml.org/2001/03/daml+oil#"    xmlns:dc="http://purl.org/dc/elements/1.1/"  xml:base="http://218.195.34.18:8080/MROntology/multi_dimen_manu_resource.owl">  <owl:Ontology rdf:about="">  
<owl:imports rdf:resource="http://218.195.34.18:8080/MROntology/Measurement.owl"/>  </owl:Ontology>  
<owl:Class rdf:ID="CAPP属性">    
    <rdfs:subClassOf><owl:Class rdf:ID="应用视图属性"/></rdfs:subClassOf>
</owl:Class>  
<owl:Class rdf:ID="工装系统属性">
    <rdfs:subClassOf><owl:Class rdf:about="#应用视图属性"/></rdfs:subClassOf>  </owl:Class>
<owl:Class rdf:ID="尺寸加工能力">
   <rdfs:subClassOf><owl:Class rdf:ID="制造能力"/>  
   <rdfs:subClassOf>
      <owl:Restriction>  
      <owl:onProperty>
         <owl:ObjectProperty rdf:ID="能力描述"/>  
          <owl:maxCardinality  rdf:datatype="http://www.w3.org/2001/XMLSchema#int">0</owl:maxCardinality>
     </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
......
--  作者:scarel
--  发布时间:4/20/2007 9:45:00 AM

--  
我也遇到了同样的问题,不知道怎么解决,对jena和owl真是无奈啊!
--  作者:飞雁影
--  发布时间:4/12/2013 9:28:00 PM

--  
楼主,请问用Jena读取本体文件到内存,然后进行了一些操作,再把操作后的在内容中的本体写回文件中,在操作本体和写回都需要注意些什么?我运行代码后,就报错:Exception in thread "main" com.hp.hpl.jena.shared.BadURIException: Only well-formed absolute URIrefs can be included in RDF/XML output: <DongWuClass> Code: 57/REQUIRED_COMPONENT_MISSING in SCHEME: A component that is required by the scheme is missing,接触这个东西时间不长,求前辈指教。。。
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
804.688ms