我正在 Prolog 中构建一个基本的拉丁语翻译器。我有目前以这种格式存储的数据作为谓词:
noun("femin","femin",1,"f",translation("woman","women")).
verb("port", "portare", "portav", "portat", 1, translation("carry","carrying","carried")).
nounending("ae","with",sg).
我宁愿使用电子表格之类的东西来输入名词和动词。我想过将 .csv 解析为 .pl,但这是一个笨拙的解决方案。有没有一种方法可以使用类似电子表格的应用程序轻松地在 SWI-Prolog 中输入谓词?
最佳答案
I would rather use something like a spreadsheet to input the nouns and verbs.
电子表格是描述实体之间实时功能关系的好方式,但我担心您将不得不硬着头皮走笨拙的方式,阅读 CSV。
没那么糟糕,例如 SWI-Prolog 有一个 CSV library ,或者您可以将其用作案例研究(假设您对 Prolog 感兴趣)并编写您自己的 DCG。非常有益的练习...
另一种可能性,如果您可以在电子表格端编写一些代码,您可以以 Prolog 格式输出电子表格的单元格:
cell(1,1,'Hello').
cell(1,2,'World').
或者考虑任何关系编辑器(您首选的“数据库管理工具”)可能对输入表格数据有用,并且从那时起您可以使用 Prolog RDB 接口(interface)(如 ODBC)访问它。
注意:电子表格通常很容易保存在表格中。然后授予通过 RDB 的访问权限。
编辑 我想到,在保存表(作为 SQL 转储)后,pack(prosqlite) - 在 SWI-Prolog 中 - 将授予您访问最有值(value)的单元格的权限:)
关于prolog - 在 Prolog 中存储数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20440334/