以文本方式查看主题

-  W3CHINA.ORG讨论区 - 语义网·描述逻辑·本体·RDF·OWL  (http://bbs.xml.org.cn/index.asp)
--  『 Semantic Web(语义Web)/描述逻辑/本体 』  (http://bbs.xml.org.cn/list.asp?boardid=2)
----  [求助]《Semantic Web Programming》第二章的问题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=2&rootid=&id=86259)


--  作者:dorothyle
--  发布时间:8/13/2010 10:32:00 AM

--  [求助]《Semantic Web Programming》第二章的问题
第二章有一个HelloSemanticWeb程序,我现在想改写这个程序,在自己的机器上试一下怎样读入一个本体文件,进而对这个本体进行查询操作。其原代码是这样的:
public class HelloSemanticWeb {
 static String defaultNameSpace = "http://org.semwebprogramming/chapter2/people#";
 
 Model _friends = null;
 Model schema = null;
 InfModel inferredFriends = null;

 public static void main(String[] args) throws IOException {
  HelloSemanticWeb hello = new HelloSemanticWeb();
  System.out.println("Load my FOAF Friends");
  hello.populateFOAFFriends();
}
private void populateFOAFFriends(){
  _friends = ModelFactory.createOntologyModel();
InputStream inFoafInstance =
FileManager.get().open("Ontologies/FOAFFriends.rdf");
  _friends.read(inFoafInstance,defaultNameSpace);
 }
}
在这段代码中,我知道红色部分标出的是这个本体的namespace,我知道如果我想在自己的程序中实现这段代码,我一定要更改这个namespace,我该怎样改呢?


--  作者:dorothyle
--  发布时间:8/13/2010 10:34:00 AM

--  
我不知道一个本体的命名空间时,肯定无法导入这个本体,对吗?
--  作者:dorothyle
--  发布时间:8/13/2010 11:09:00 AM

--  
public class LeLeHelloSemanticWeb {
 public static void main(String[] args) throws IOException {
  
  LeLeHelloSemanticWeb hello = new LeLeHelloSemanticWeb();
  
  Model text_ontmodel = ModelFactory.createOntologyModel();
  OntDocumentManager dm = ((OntModel) text_ontmodel).getDocumentManager();
  dm.addAltEntry("www.semanticweb.org/ontologies/2010/7/ontology1281666851078.owl#", null);
  text_ontmodel.read("file:e:/ontologies/ontology1281666851078.owl");
  System.out.println("This is my HelloSemanticWeb");
  }
 
 }
大家帮忙看一下,我上面的这段代码能够实现读入一个本体吗?我用Protege新建了一个本体
--  作者:laotao
--  发布时间:8/13/2010 1:54:00 PM

--  
在protege的标题栏和地址栏里都有
--  作者:dorothyle
--  发布时间:8/13/2010 11:41:00 PM

--  
关键是我不知道这个命名空间static String defaultNameSpace = "http://org.semwebprogramming/chapter2/people#";到底指的是哪个owl文件?第二章压包里有个文件夹是ontologies,里面有foaf, foafFriends,additionalFriends,additionalFriendsSchema,restriction,我把这几个文件都打开了,没找到people这个类啊?

--  作者:laotao
--  发布时间:8/14/2010 9:19:00 AM

--  
估计你那个本体的namespacewww.semanticweb.org/ontologies/2010/7/ontology1281666851078.owl
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms