以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 Semantic Web(语义Web)/描述逻辑/本体 』 (http://bbs.xml.org.cn/list.asp?boardid=2) ---- 语义网研究(W3CHINA)QQ群聊天记录(2008年11月19日) (http://bbs.xml.org.cn/dispbbs.asp?boardid=2&rootid=&id=69752) |
-- 作者:geyu -- 发布时间:11/23/2008 9:26:00 PM -- 语义网研究(W3CHINA)QQ群聊天记录(2008年11月19日) 2008年11月19日(星期三)的聊天记录 共155条 123456 转到/6页 胖波 (6598782) 08:53:49 早 古先生 (308394754) 08:54:22 您早! 皮皮 (277582907) 08:54:30 大家都早 胖波 (6598782) 08:55:17 我刚到实验室,你们呢? nirvana (3491035) 08:55:36 我刚到办公室 汤包 (292390280) 08:55:42 [自定义表情] 汤包 (292390280) 10:37:40 请问如何读取子类的实例?比如有个person类,person有个子类student,student有个实例peter,那我如何从person这一层读取peter? 一一 (13176246) 10:38:15 person.getsubclasses 一一 (13176246) 10:38:26 然后你就有一个set 一一 (13176246) 10:39:20 做一个循环,subclasses[i].getindividuals 汤包 (292390280) 10:39:20 我试试 一一 (13176246) 10:39:30 也许不同api有不同,但基本都是这个路子 汤包 (292390280) 10:39:37 嗯嗯 展翅飞鹰 (420308505) 10:47:46 大家好,我昨天问的问题,有哪位高手能解答一下? 一一 (13176246) 10:48:27 问题重复下? 展翅飞鹰 (420308505) 10:49:12 我在jena程序中用createClass()方法创建了一个类,但是程序运行结束后这个类就不在显示了,请问大家:怎么才能把创建的类保存在本体文件内? 胖波 (6598782) 10:50:50 你为啥一点文档都不看呢? 胖波 (6598782) 10:51:03 Jena.dumpRDF就可以了 小明 (380857001) 10:51:12 汤包的问题,试试这个方法:protege提供的api,getInstances() 方法,指定参数为true 展翅飞鹰 (420308505) 10:51:21 我看了,那是关于rdf的,我不知道owl行不行 小明 (380857001) 10:51:34 可以的 展翅飞鹰 (420308505) 10:51:39 我昨天就问你了,可是你没告诉我啊 胖波 (6598782) 10:52:01 让你自己看看文档,你就是不看 一一 (13176246) 10:52:42 一般来讲,操作本地文件,都是先利用本体文件创建一个ontology 展翅飞鹰 (420308505) 10:52:59 我看了,我找到IO那了,但是里面没有用createclass创建类的 (_夏oО風﹎ (83907022) 10:53:05 谁知道TKDE是什么会议啊? 一一 (13176246) 10:53:07 如果本地文件不存在,则就是产生这个文件了 汤包 (292390280) 10:53:09 可以了,感谢 一一 (13176246) 10:53:36 然后对ontology进行addclass之类的操作 胖波 (6598782) 10:53:36 我建议大家还是用protege api来操控owl文件 2008年11月19日(星期三)的聊天记录 共155条 123456 转到/6页 一一 (13176246) 10:53:44 最后写入 胖波 (6598782) 10:53:47 比jena封装的方便一些 一一 (13176246) 10:53:55 恩,最好用protege api, owl api来操作ontology 汤包 (292390280) 10:54:06 已经用了jena了 展翅飞鹰 (420308505) 10:54:12 但是我用的是一个已经建立好的本体文件啊 小明 (380857001) 10:54:15 我也觉得protege封装的挺人性化的 一一 (13176246) 10:54:15 tkde是期刊 一一 (13176246) 10:54:20 ieee transaction 展翅飞鹰 (420308505) 10:54:22 怎么能附加进去啊 (_夏oО風﹎ (83907022) 10:54:29 什么期刊? 一一 (13176246) 10:54:33 三个字,慢慢看文档和实例 一一 (13176246) 10:54:40 其实owl api有很详细的例子 一一 (13176246) 10:54:44 google owlapi 汤包 (292390280) 10:54:48 用protege api 把本体放入mysql的时候只有一张表吧 (_夏oО風﹎ (83907022) 10:55:38 iamwym 什么期刊 中文是啥? 胖波 (6598782) 10:56:07 真的搞开发,还是先把文档好好的读一读,在动手 胖波 (6598782) 10:56:16 不然全都不懂,寸步难行 一一 (13176246) 11:01:20 这期刊哪来中文,自己google下不就完了 一一 (13176246) 11:01:41 呵呵,我觉得至少文档是作为手册参考 一一 (13176246) 11:02:06 一般做不出来肯定不是人家api不对,多查查文档就好了 胖波 (6598782) 11:02:54 顶 一一 (13176246) 11:03:02 比如板上一个月经贴就是,为什么没有基于.net的owl parser 一一 (13176246) 11:03:25 现在都什么年代了,java和.net的互操作已经做了很好了 一一 (13176246) 11:04:16 这种早就不是什么问题,我以前一直用java 一一 (13176246) 11:04:44 6,7年以前用c++做的东西,用jni处理一下继续可以用 一一 (13176246) 11:05:02 现在公司要求用.net,java api转换一下,也可以用 一一 (13176246) 11:05:43 花一个小时查查,会发现其实你在做的东西,很多都有api了 胖波 (6598782) 11:06:42 呃 汤包 (292390280) 16:51:30 请问一下,想找出所有以classA为range的属性该怎么做啊 Anning (6419157) 17:02:39 你是想用SPARQL查询实现还是本体操作实现啊? 2008年11月19日(星期三)的聊天记录 共155条 123456 转到/6页 汤包 (292390280) 17:03:31 想用SPARQL查询实现 Anning (6419157) 17:08:29 这应该很简单吧 Anning (6419157) 17:09:18 SELECT ?p WHERE{ ?p rdfs:Range ns:classA } 汤包 (292390280) 17:10:08 我这么写怎么出不来。 Anning (6419157) 17:10:48 有这样的情况 Anning (6419157) 17:10:58 比如p是一个属性 Anning (6419157) 17:11:10 它的range是classA的一子类 Anning (6419157) 17:11:36 SPARQL没有推理,所以不能得到p的range是classA Anning (6419157) 17:12:32 但是我在我这里试了 Anning (6419157) 17:12:37 我这边没有问题啊 Anning (6419157) 17:12:56 返回的就是所有以一个本体类为range的属性集合 汤包 (292390280) 17:13:04 我就是查出来的不完整,可能就是你说的问题,是子类的情况 Anning (6419157) 17:13:28 你是查不出来,还是查不完整啊? 汤包 (292390280) 17:13:35 不完整,呵呵 Anning (6419157) 17:13:37 还有一种情况就是, Anning (6419157) 17:14:00 有一个属性p。它的range是classA 并上 classB Anning (6419157) 17:14:35 你也不会得到p的range 是classA 汤包 (292390280) 17:14:46 那还是要用到推理比较合适,是吗? Anning (6419157) 17:14:47 如果想查全,那有有jena了 Anning (6419157) 17:14:53 用jena 汤包 (292390280) 17:15:36 能说一下怎么实现吗 Anning (6419157) 17:20:20 你需要使用reasoner Anning (6419157) 17:21:07 比如 Anning (6419157) 17:21:15 你用的是ontModel Anning (6419157) 17:21:55 首先ontModel.listObjectProperties()得到所有的属性 汤包 (292390280) 17:22:39 恩 Anning (6419157) 17:22:52 然后用reasoner得到所有classA的子类 Anning (6419157) 17:23:49 跟着一个if 判断 Anning (6419157) 17:24:40 eitr.hasRange(classA or classA 的子集) Anning (6419157) 17:25:00 eitr是返回的属性的迭代值 2008年11月19日(星期三)的聊天记录 共155条 123456 转到/6页 Anning (6419157) 17:25:43 判断每个eitr.hasRange(classA or classA 的子集),如果是当然就返回该属性了 汤包 (292390280) 17:26:22 eitr就是ontModel中的所有属性? Anning (6419157) 17:26:46 ExtendedIterator eitr = ontModel.listObjectProperties(); 汤包 (292390280) 17:26:56 嗯嗯 汤包 (292390280) 17:27:14 我再试试,谢谢啊! 有问题还要请教你 汤包 (292390280) 17:27:17 胖波 (6598782) 17:27:34 Anning真厉害啊 Anning (6419157) 17:27:36 while(eitr.hasNext) { if (........) } 一一 (13176246) 17:28:00 直接用foreach也行,呵呵 Anning (6419157) 17:28:08 是的, Anning (6419157) 17:28:18 非常好用 wan (1009023) 17:29:30 为什么jena没有把这样的常用功能做成API? 胖波 (6598782) 17:30:13 这个你的问问jena的作者了 一一 (13176246) 17:30:54 我来告诉你吧 wan (1009023) 17:30:57 我以前也遇到类似情况,也是只好自己写程序查找 一一 (13176246) 17:31:23 jena的作用其实根本不是提供这类比较high level api 一一 (13176246) 17:31:49 因为它一开始就不是去处理owlde1 一一 (13176246) 17:31:58 owl 一一 (13176246) 17:32:04 而是处理rdf wan (1009023) 17:32:24 那有没有工具有这类高层API? Anning (6419157) 17:32:45 说到底,jena也还是RDF的工具 一一 (13176246) 17:32:48 这就为什么protege自己写了自己的api,基于jena arp等 一一 (13176246) 17:33:08 基本上我觉得用下来最简单的,就是protege api和owlapi 一一 (13176246) 17:33:27 这个简直是每周都要打一遍的 wan (1009023) 17:33:41 我当时就是用protege,但在它的API里也没有找到 Anning (6419157) 17:33:47 (*^__^*) 嘻嘻……,I like protege api 一一 (13176246) 17:34:02 那我只能说你没仔细认真找了 胖波 (6598782) 17:34:10 Anning,protege api除了那些例子,还有没有别的好点的文档了? 一一 (13176246) 17:34:19 因为实在是不能更简单找到了 一一 (13176246) 17:34:32 不过对于入门,我还是推荐用owl api吧 2008年11月19日(星期三)的聊天记录 共155条 123456 转到/6页 Anning (6419157) 17:34:48 mailing list也能学到很多 一一 (13176246) 17:34:53 包括了很多api,包括rule,也有reasoner的接口,配合fact++很好用 Anning (6419157) 17:35:14 我好多时候都通过protege的mailing list解决 胖波 (6598782) 17:35:16 有没有tutorial? Anning (6419157) 17:36:49 什么的tutorial? owl api? Anning (6419157) 17:36:51 http://owlapi.sourceforge.net/ 胖波 (6598782) 17:36:59 protege 一一 (13176246) 17:37:20 owlapi有很多example 一一 (13176246) 17:37:25 基本上够入门了 wan (1009023) 17:37:41 我记不太清了,当时好像是要找以classA为range的所有domain类 胖波 (6598782) 17:37:45 protege api里的那个repository你们用过么? 胖波 (6598782) 17:38:22 Repository Manager Anning (6419157) 17:39:14 用过 胖波 (6598782) 17:39:29 这个怎么设置,你有没有小例子呢? Anning (6419157) 17:40:59 稍等 胖波 (6598782) 17:41:07 好啊,谢谢 Anning (6419157) 17:42:27 try { Reader instReaderFromString= new StringReader(this.fileContent); // Reader instReaderFromFile = new InputStreamReader(new FileInputStream(instanceFilePath)); JenaOWLModel instModel = ProtegeOWL.createJenaOWLModel(); RepositoryManager manager = instModel.getRepositoryManager(); manager.addProjectRepository(new HTTPRepository (new URL (schema_documentURL))); manager.addProjectRepository(new HTTPRepository (new URL (schema_themenURL))); manager.addProjectRepository(new HTTPRepository (new URL (schema_timeURL))); manager.addProjectRepository(new HTTPRepository (new URL (schema_locationURL))); // manager.addP Anning (6419157) 17:42:28 rojectRepository(new LocalFolderRepository (new File (schemaFileFolderPath))); manager.addGlobalRepository(new LocalFolderRepository(new File (sysontologyFileFolderPath))); manager.addProjectRepository(new LocalFileRepository (new File (ruleFilePath))); instModel.load(instReaderFromString, FileUtils.langXMLAbbrev); OntModel ontModel = instModel.getOntModel(); this.namespaceMap = new HashMap<String, String> (ontModel.getNsPrefixMap()); SWRLRuleEngineBridge bridge=BridgeFactory.createBridge("SWRLJessBridge", instModel); bridge.importSWRLRulesAndOWLKnowledge(); bridge.run(); wan (1009023) 17:42:32 想起来了,protege是有获得以classA为range的所有属性的API。当时好像是先获得以classA为range的所有属性,然后再通过每个属性获得domain类 Anning (6419157) 17:42:47 这是以前的一段代码 Anning (6419157) 17:43:03 和jess做推理用的 胖波 (6598782) 17:43:28 哦 胖波 (6598782) 17:43:34 我看看 胖波 (6598782) 17:44:54 通过这个,就可以不去远程的URI读取OWL文件,而从本地读取了? Anning (6419157) 17:46:43 iamwym,玩facebook吗? 胖波 (6598782) 17:50:40 anning,有没有更进一步解释这个的资料? Anning (6419157) 17:51:44 https://mailman.stanford.edu/pipermail/protege-owl/2007-July/003098.html 胖波 (6598782) 17:52:10 谢谢 Anning (6419157) 17:52:32 不客气,呵呵 胖波 (6598782) 17:53:02 我搞的那个OWL-S里有一个链接改了位置,所以每次解析都会跳出来 胖波 (6598782) 17:53:29 所以才想能不能我把里面的这个链接在代码里改掉 Anning (6419157) 17:54:01 都在本地 胖波 (6598782) 17:54:13 就是都从本地读 胖波 (6598782) 20:17:27 有人么? 早点来吧 (31585040) 20:53:33 有没有做本体匹配的啊? |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
54.688ms |