3
我有一個csv文件example.csv
,它包含兩個標題爲var1和var2的列。導入csv文件數據以填充Prolog知識庫
我想填充一個初始爲空的Prolog知識庫文件import.pl
反覆事實,而example.csv
各行視爲相同:
fact(A1, A2).
fact(B1, B2).
fact(C1, C2).
我怎樣才能在SWI-Prolog的這?
編輯的基礎上,回答@Shevliaskovic:
:- use_module(library(csv)).
import:-
csv_read_file('example.csv', Data, [functor(fact), separator(0';)]),
maplist(assert, Data).
當import.
在控制檯上運行,我們更新了知識基礎正是它被請求的方式(除了事實的知識基礎是直接在內存中更新,而不是通過文件和後續的諮詢來完成)。
檢查setof([X, Y], fact(X,Y), Z).
:
Z = [['A1', 'A2'], ['B1', 'B2'], ['C1', 'C2'], [var1, var2]].
Thx,我對Prolog很新。我正在努力處理您的建議。問題是如何將特定的csv文件的內容轉換爲新的知識庫文件,然後可以隨時諮詢。 – user2030503
@ user2030503我添加了一個例子。這對你有幫助嗎? – Shevliaskovic
差不多,我該如何將數據轉換成知識庫文件中的事實? – user2030503