从prolog读取csv文件并更改为facts / clause

时间:2014-06-13 18:28:40

标签: csv predicate swi-prolog fact prolog-assert

我使用csv_read_file来读取csv文件,即:

csv文件:

"nsubj(love-1, carol-2)"
"nsubj(like-3, carol-2)"

代码:

csv_read_file('test.csv',L)

我有类似的事情:

L = [row('nsubj(love-1, carol-2)'), row('nsubj(like-3, carol-2)')]

但我需要的是

nsubj(love-1, carol-2) and nsubj(like-3, carol-2)

实际上是谓词。

如何摆脱row这件事?我想在那之后我只需要做assert()

1 个答案:

答案 0 :(得分:0)

好的..我自己拿到了。 它实际上很容易,但我是Prolog的新手,所以我花了很多时间来弄清楚它。 由于Prolog可以识别模式,所以我只是明确地将模式制作如下:

Rows = [Head|Tail], Head = row(Element,_,_,_,_,_,_,_), List = [Element|Temp] ...

这里的元素正是我想要的。