緊接著上一個建筑項目本體,我們又決定開始另外一個案例——旅游訂制。從網格課開始我們就一直在講旅游定制,Webservice中常常拿這個做例子,我們想用本體來實現它的功能。
本體究竟能做什么?大家都很疑惑,一邊尋找合適的案例,一邊思考它的應用范圍。目前我們實現的是信息的聚合。本體用另外一種形式類、屬性以及他們之間的關系來表達一個領域的知識,給定一個景點,我們可以把與之相關的交通、酒店、圖片、地址、網頁URL、景點星級、平均客流量等各種信息聚合到一起(這個我始終覺得和webservice的目的是一樣的),但這只是很淺的功能,用關系數據庫就可以實現,那我們為什么要用本體呢?
推理。小組長一直叮囑我要設計推理案例,可我一直沒有取得突破,原因有幾點:
1)什么是推理?這個名字好像很復雜,但仔細研究葡萄酒本體和食物本體的例子就會很失望,所謂的找到與餐桌上的某個食物最匹配的酒,不過只是屬性和子屬性,類和子類的幾個簡單的推斷、匹配罷了。這就是推理?Jena文檔中的三個推理案例:計算機本體中個體nForce查找特定實例、實例驗證以及驗證一致性都是很簡單的,在實際應用中有何作用,我們真的需要這個嗎?這樣的疑問一直盤旋在我腦中,我們應該從需求從實際的應用來挖掘本體的用處,而不是為了做推理而挖掘本體的用處。
2)我們思考的旅游本體開始吸引我們的地方,就是能夠有一些用戶看不到的規則在本體中。我們能夠結合現在的月份,以及用戶提供的價格范圍選擇最適合用戶的路線。我們有計算每條路線的推薦度,但究其原理,也不過是用程序實現的計算規則和匹配,是跳脫了本體的,而沒有用到推理功能。這有點讓我失望,因為做下來后才發現,我們還是在做信息聚合,以及人進行的推理罷了,離我們的目標還是很遠。
究竟怎樣找到一個有推理又實用的應用呢?希望這幾天能有突破。