紧接着上一个建筑项目本体,我们又决定开始另外一个案例——旅游订制。从网格课开始我们就一直在讲旅游定制,Webservice中常常拿这个做例子,我们想用本体来实现它的功能。
本体究竟能做什么?大家都很疑惑,一边寻找合适的案例,一边思考它的应用范围。目前我们实现的是信息的聚合。本体用另外一种形式类、属性以及他们之间的关系来表达一个领域的知识,给定一个景点,我们可以把与之相关的交通、酒店、图片、地址、网页URL、景点星级、平均客流量等各种信息聚合到一起(这个我始终觉得和webservice的目的是一样的),但这只是很浅的功能,用关系数据库就可以实现,那我们为什么要用本体呢?
推理。小组长一直叮嘱我要设计推理案例,可我一直没有取得突破,原因有几点:
1)什么是推理?这个名字好像很复杂,但仔细研究葡萄酒本体和食物本体的例子就会很失望,所谓的找到与餐桌上的某个食物最匹配的酒,不过只是属性和子属性,类和子类的几个简单的推断、匹配罢了。这就是推理?Jena文档中的三个推理案例:计算机本体中个体nForce查找特定实例、实例验证以及验证一致性都是很简单的,在实际应用中有何作用,我们真的需要这个吗?这样的疑问一直盘旋在我脑中,我们应该从需求从实际的应用来挖掘本体的用处,而不是为了做推理而挖掘本体的用处。
2)我们思考的旅游本体开始吸引我们的地方,就是能够有一些用户看不到的规则在本体中。我们能够结合现在的月份,以及用户提供的价格范围选择最适合用户的路线。我们有计算每条路线的推荐度,但究其原理,也不过是用程序实现的计算规则和匹配,是跳脱了本体的,而没有用到推理功能。这有点让我失望,因为做下来后才发现,我们还是在做信息聚合,以及人进行的推理罢了,离我们的目标还是很远。
究竟怎样找到一个有推理又实用的应用呢?希望这几天能有突破。