Prolog csv飞行数据分析

时间:2017-03-27 16:24:11

标签: csv prolog

我正在研究专家系统进行飞行数据分析。 该航班是一个csv文件。我想:

  • 保存每个航班文件(飞机编号,电机编号和航班日期)
  • 在知识库中定义参数(电机和飞机)的限制: 例如,T4(涡轮前的温度)在30秒内不应超过650。
  • 将报告文件另存为pdf或html 问题是要分析文件,你应该逐行循环,以检测异常。 那么,我怎么能用prolog做呢?你有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您没有说明您正在使用的实施方式。我猜是SWI-Prolog。 您可以使用csv_write_file或csv // 1,2

编写csv文件

http://www.swi-prolog.org/pldoc/doc_for?object=csv//1

基于OP的反馈:

假设你有一些事实:

engine_temp(时间,温度)。

你可以通过findall获取它们的列表

findall(Time-Temp,engine_temp(Time,Temp),List)

这会将List绑定到Time-Temp形式的对。

使用SWI-Prolog库生成HTML

:- use_module(library(http/html_write)).

:- http_handler('/temps', temp_hdlr, []).

temp_hdlr(_Request) :-
    reply_html_page(title('engine temps'),
          \temp_list
     ).

temp_list -->
    { findall(Time-Temp, engine_temp(Time, Temp), List)   },
   html(ul(\list_body(List))).

list_body([]) --> [].
list_body([Time-Temp | Rest]) -->
    html(tr([td(Time), td(Temp)])),
    list_body(Rest).

希望a)有效,我远离开发机器,而b)html代锅炉板看起来并不太可怕。

希望有所帮助。