以文本方式查看主题 - 计算机科学论坛 (http://bbs.xml.org.cn/index.asp) -- 『 Semantic Web(语义Web)/描述逻辑/本体 』 (http://bbs.xml.org.cn/list.asp?boardid=2) ---- 请问实践中OWL的individual数据是怎么存储的? (http://bbs.xml.org.cn/dispbbs.asp?boardid=2&rootid=&id=84184) |
-- 作者:xcvisxcv -- 发布时间:4/7/2010 12:01:00 PM -- 请问实践中OWL的individual数据是怎么存储的? 比如Person是一个Class,有许多字符串类型的Property,那么如果用户提交Person的实例,是要每个Individual都要单独保存一个.owl文件吗?每个文件中都有Person类的描述吗? |
-- 作者:xcvisxcv -- 发布时间:4/8/2010 11:36:00 AM -- 顶,没人说一下实践经验嘛? |
-- 作者:xcvisxcv -- 发布时间:4/10/2010 11:51:00 AM --
难道大家都是纸上谈兵嘛?一点实践都没有? |
-- 作者:Lexxuan -- 发布时间:4/10/2010 5:59:00 PM -- 当然不是每个Individual单独保存了。LZ的基本概念没搞清楚哦,比如,一个类的数据类属性,这种设计就是有缺陷的,因为这意味着这个类的创建必须要补充完该数据类属性,而不是在加实例的时候再补充:也就是说,在你这种情况下,数据类属性是实例的属性,而不是类的属性,因为每个具体的人才有具体的诸如生日名字等属性,而“人”却没一个具体的生日; 而实例的保存,我觉得是最基本的RDF和XML的知识了。 建议LZ先用protege的Animal例子教程自己操作一遍,就会很清楚了。 论坛上很多帖子没人回,就是因为: 1,只要稍加搜索就能得到答案的帖子 2,别说网上,单这个论坛里就有很多人问过的同样问题的帖子 以上仅为本人意见,LZ加油 |
-- 作者:xcvisxcv -- 发布时间:4/10/2010 9:19:00 PM --
多谢你的回复,但是不同意你的观点。而且你没理解我的问题。 其次,我问的是:比如手上有一千万个Person的实例,应该那么这一千万个Person的Individual是赢在存在一个.owl文件中还是存在一千万个owl文件中。如果是后者,那么是每个实例的文件都要保存一遍Person的类定义吗? |
-- 作者:xcvisxcv -- 发布时间:4/10/2010 9:29:00 PM -- 例子我看过,都是类定义和实例放在一个文件里,但Ontology-Driven Software Development in the Context of the Semantic Web:An Example Scenario with Prot´eg´e/OWL中的应用示例却说的individual和类分开存储。 可是分开存储会带来另外的问题,要不要重复存储类的定义呢? |
-- 作者:Lexxuan -- 发布时间:4/10/2010 9:51:00 PM -- 之前误解你的意思了,不过
以上问题的答案,显然是no 至于是否专门存实例的文件内容里要加上所属类的描述,以我的经验,也是no 本人正准备写一篇关于本体构造的帖子,发现很多人在构造本体的时候,都被owl:Class,owl:XXX等来把本体的结构框死了,这个问题以后再说。 鉴于你的问题,我的经验(我的经验超有限),需要2类文件,1类是你设计的本体构造框架,另1类就是实例文件。在本体框架文件中,定义好你的“类”,“属性”等,以及其“prefix”;在实例文件中,直接用你自己定义的“prefix”就可以了,跟类与实例写在同一个文件里基本一样。剩下的工作就是怎么用程序达到你想要的功能。 光说没程序段例子给你们是因为很多东西都涉及到版权,或者是别人没发表的东西,我一直没写刚才提到的帖子也是因为要等到版权出来后,才能发表。 另外,我上述意见肯定会有很多纰漏,因为上述经验是我看别的同事做的东西所了解到的,不是自己开发的经验,另外,解决问题的方法肯定不止一种,所以只能提供“我的经验”,仅供参考 |
-- 作者:xcvisxcv -- 发布时间:4/10/2010 10:01:00 PM --
非常感谢您的回答。这个问题的确不是原则问题,所以我问best practice是怎么处理的。 两个问题: |
-- 作者:Lexxuan -- 发布时间:4/10/2010 10:03:00 PM -- 补充一下,之前我说的数据型属性应该属于实例是错的,LZ也指正了这一点,谢谢更正 我记得在protege软件下,类的数据型属性只能在建立实例的时候才能输入值,不知道我有没有记错 |
-- 作者:xcvisxcv -- 发布时间:4/10/2010 10:20:00 PM -- 是的,datatypeProperty也是实例化的时候赋值。 请问您在实践中遇到性能问题是怎么解决的呢? |
-- 作者:Lexxuan -- 发布时间:4/10/2010 10:56:00 PM -- 很抱歉啊,我没实践过,只是同事做的东西我看过而已。 实例太多,当然可以分开,这就是为什么我说的是 “另1类就是实例文件”而不是说 实例文件就1个。 我猜增强性能的方法有不少,比如,用有效的分类方法来划分实例,存放于不同的实例文件;可以尝试给Person类划分子类;用适合的遍历算法等等。但毕竟自己没实践过,所以有待高人回帖了。 |
-- 作者:xcvisxcv -- 发布时间:4/11/2010 10:58:00 AM -- 非常感谢! 我想的也是用类似于关系数据库的水平拆表的方式拆成多个owl。我还怀疑是不是owl的设计初衷就不是为了这类处理大量数据的应用,只是为知识类之间的推理设计的,可是又苦于找不到资料... |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
78.125ms |