我是Prolog的初學者,真的需要在Prolog最簡單的語法中解決這個問題。有規則和查詢的Prolog示例
我有相似的2臺在序言不同的產品信息是這樣的:
product(id,company,value).
prod(prodid,date,color).
和知識數據庫是這樣的:
表1:
product(aa11zx, alfa, 1230).
product(bb22yz, beta, 5890).
product(cc11zx, alfa, 600).
product(dd22kx, beta, 730).
product(aa22vx, delta, 800).
表2 :
prod(aa11, 1-2-2015, red).
prod(aa22, 1-7-2015, green).
prod(dd22, 1-4-2015, blue).
prod(bb22, 1-3-2015, blue).
prod(cc11, 1-3-2015, green).
2表有第一個參數的共同點,但有2個問題需要解決:
第一:我需要一個規則,以便它能夠理解表1中「id」中的4個第一個字符是與表2中「prodid」中的4個字符相同。
第二:我需要一個規則/問題,系統可以通過他們的「產品ID」連接兩個表,就像它可以在Excel中使用「vlookup」例如。
例如連接表的最後一行應該是:
product2(aa11, alfa, 1230,1-2-2015, red).
誰能幫助我?
你確定你要設計你的數據庫嗎?確保兩個表中的ID實際上是相同的,並且不必拆分前4個字符是一個好主意。 – 2015-09-14 06:05:39
如果表prod中'prodid'的最後兩個字符總是與同一行相關聯,那麼也可以將它們分離到另一列。 PS。考慮使用更多的描述性表名? – 2015-09-14 06:37:06