2012-12-15 64 views
1

我有以下的本體,其中紅色鏈接DatatypeProperties,藍色的是ObjectProperties和黑色的「is_a」關係。本體簡單地表示POINT,COORDONATESSHAPES概念。如何調整這個本體以獲得簡單的幾何形狀識別?

我有興趣做的幾何形狀識別這個本體。

讓我們說我們有POINT四個實例:point0點1點2POINT3,適當coodonates和所有財產is-contained-in有關所謂shape0SHAPE一個實例。

什麼是必要的,這個本體來推斷,如點coordonates,shape0SQUARE而不是作爲一個RECTANGLE

換句話說,如何引入本體中的識別能力。

enter image description here

+0

不知道你到底想要什麼......你可能需要有找出形狀的規則。例如:如果它是一個正方形,那麼它有四條對稱線,而一個矩形有兩條。 – Swamy

+0

這是一個好的開始。如何制定這樣的規則? –

+0

你可以使用SWRL/SPARQL來編寫這樣的規則。如果您使用Protege構建本體,您可以使用protege編寫它們 – Swamy

回答

0

我在這裏只給一個例子,它是如何寫成SWRL規則。請注意,這未經測試,可能不準確。所以,認爲這只是一個線索。 (?s,c1),hasCordinates(?s,c2),hasx(?c1,?x1),hasy(?c1,?y1),subtract(?x1,? (x1,y2,y2,y2,y1,y1,y1,y1,y1,y1,y1,y2,y1,y2, (sq1,sq2,?sum1).....(?sum2).....-> issquare(?s)

請注意會有更高的效率如何做到這一點。

+0

形狀沒有座標,因此您的關係具有座標(?s,c1)聽起來對我來說不正確。 –

+0

在你的情況下,形狀有一個點,那個點有座標..像hasPoint(?s,?p1),hasCordinates(?p1,?c1)...正如我告訴你,這只是一個例子;你必須進一步探索... – Swamy