时间仓促,而且这个问题包括的知识域太广,很多东西也都还在探索。
上文w3china的图片还是比较形象的。
http://bbs.w3china.org/dispbbs.asp?boardID=3&ID=33927
这个帖子也不错,虽然也有一些偏颇。
个人理解,首先是网络,URL能够标志数据唯一性,这个很重要。然后XML,把数据和结构分开了。XML对数据结构的定义,比关系型数据库要灵活,这也是早期XML存储成为问题的原因。好像当时东软的电子病历,就是存成一个个XML文件。
后面都是说结构和设计的问题,每次对结构的定义都不一样。 不同的模型可以算是结构的多种表现。
RDF是否OO,OO了多少,可以看http://www-128.ibm.com/developerworks/cn/xml/rdf/part8/index.html
RDF的一些数学方法,设计模式:
http://www.w3.org/2001/sw/BestPractices/OEP/n-aryRelations-20040623/
缺陷肯定是有的,一颗种子长成了树,这个thing,你是定义为种子,还是定义为树。OWL在时序上的一些建模方法,目前大家还在探讨。
OWL,有两个定义,一个是指ontology web language, 一个是指owl file,基于这种语言书写形成的规范。这里我们讨论第一种。
Owl 与RDF的关系,援引w3c的解释:
OWL Full can be viewed as an extension of RDF, while OWL Lite and OWL DL can be viewed as extensions of a restricted view of RDF. Every OWL (Lite, DL, Full) document is an RDF document, and every RDF document is an OWL Full document, but only some RDF documents will be a legal OWL Lite or OWL DL document.
from <http://www.w3.org/TR/owl-features/>
OWL 是否等于OO 3GL(generation language)的定义,我没有看到。个人觉得,problem-oriented,还是procedure-oriented, 取决于设计的思路,无法定论。如果dyy兄有这样的文章,也请帖给大家学习。
是否需要一个类似于DBMS的冬冬,取决于你的应用。Protégé基本上目前能够满足大多的应用。目前主要用来做逻辑建模,包括前两天大家做的作业first order logic, 都属于建模的方法学。
玩法很多,玩模型的,做了一个template,把需要的业务数据抽象好,然后做一个interface ontology,比如patient name是你业务领域的class, textbox是你interface ontology的class.
那么你需要表现patient name,只需要claim: patient name (class) ->represented by (relationship)-> textbox (class), 解析过后,界面上就可以出现一个textbox.也就是interface ontology的模型,类似于XML的界面编辑器,不过更加严谨。
玩逻辑的,比如逻辑题,所有的逻辑考试,都是随机的从ontology里面去题目和答案,而且维持了题目的内在关联性,成为考试题库,在线问答服务,呵呵。
玩owl数据的,比较原始的玩法,比如把business model做成owl,然后把owl中间的一些class做成数据库的field,完成和数据的存储。或者把你的数据存成一个个RDF文件,然后用sparql query之后转到数据库。
或者使用protégé,自动把owl class生成java 的class.并不是所有的软件都需要数据库的。
玩owl的网站多了,随便找一个,看看这个。
http://www.joseki.org/
技术永远是日新月异的。Cerner 和oracle都在做RDF这方面的研究,但是HP毕竟领先了一步,不知道IBM和oracle能否赶上。Cerner 下一代的EMR,包括基因蛋白数据的,由于数据的复杂性,根本无法用ER的数据库去表达,目前比较倾向于RDF。
表达错误的,请小土豆补充。
此帖由 南京猿人 在 2006-09-25 00:21 进行编辑...