2012-04-12 60 views
1

我們可以在序言中定義的關係中有關係嗎?關係序言中的關係

像我有一個關係定義如下:

relation(CctypeInt,[0-{2,3,4}, 1-{2,3,4}, 2-{2}],Ru1),!. 

現在還有一個變量,它是在兩個CctypeInt dependeant和RU1

,所以我喜歡

relation(cctypeint,relation(ru1,...,ru2)) 
思考的東西

這是可能的嗎?

+0

一件好事是爲你的問題添加上下文。你想要達到什麼目標? – m09 2012-04-12 11:23:25

回答

3

關係由Prolog中的謂詞定義。沒有內置的(但你可以做到這一點,例如通過使用術語擴展)句法方式來定義謂詞在程序文本中的謂詞,似乎沒有理由這樣做。您可以簡單地編寫單獨的謂詞並引用它們。你可以當然有嵌套的術語,即術語作爲其他術語的子項。

你是什麼意思與

relation(CctypeInt,[0-{2,3,4}, 1-{2,3,4}, 2-{2}],Ru1),!. 

?這是一個說明關於謂詞(,)/ 2的一個子句,我懷疑它是這個意圖。另一方面,您當然也可以在您的程序中構建和使用Prolog術語,如

relation(cctypeint,relation(ru_1,...,ru_n)) 

在您的程序中表示您的數據。

+0

,你能告訴我一些精確的例子,關係中的關係啊被使用了嗎?或至少有一個鏈接將是有幫助的 – Vijay 2012-04-12 11:39:22

+1

沒有內置的方式來做到這一點。使用單獨的謂詞來定義不同的關係。 – mat 2012-04-12 11:44:23