Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
协同本体构建与Prolog_Prolog_Owl_Protege_Swrl - Fatal编程技术网

协同本体构建与Prolog

协同本体构建与Prolog,prolog,owl,protege,swrl,Prolog,Owl,Protege,Swrl,哪些技术适用于创建允许用户添加事实、编辑事实和查询这些信息的网页?我一直在用Prolog构建知识库和推理规则,但我想让事实部分和查询可以在web上访问。更具体地说,我正在寻找以下功能: 最终用户可以在其中添加和编辑事实的web界面,例如“吸烟导致癌症的概率为0.02”。这最好是可访问的,不涉及编写序言或其他代码(例如,从三个列表中选择主题、关系和对象)。在这里,还可以使用一些功能来查看知识库中是否已经存在一些概念(例如,如果用户要输入关于癌症的事实,并且癌症的概念已经存在于知识库中,则最好也显

哪些技术适用于创建允许用户添加事实、编辑事实和查询这些信息的网页?我一直在用Prolog构建知识库和推理规则,但我想让事实部分和查询可以在web上访问。更具体地说,我正在寻找以下功能:

  • 最终用户可以在其中添加和编辑事实的web界面,例如“吸烟导致癌症的概率为0.02”。这最好是可访问的,不涉及编写序言或其他代码(例如,从三个列表中选择主题、关系和对象)。在这里,还可以使用一些功能来查看知识库中是否已经存在一些概念(例如,如果用户要输入关于癌症的事实,并且癌症的概念已经存在于知识库中,则最好也显示相关概念)。也许一些下拉菜单或列表可以实现这一点
  • 用于管理用户配置文件、密码、权限等的功能
  • 最终用户可以查询事实部分的web界面,例如“癌症的原因是什么?”。计算查询答案的规则不是最终用户可以编辑的(我想这样做)。他们只是以一种易于理解的形式看到结果
  • 一种Prolog语言或与Prolog一样强大的语言,我(而不是最终用户)可以使用它来创建推理规则(生成用户查询的答案)
  • 如果可能的话,最终用户可以使用一些方法获得知识库的图形表示
我对Prolog程序所指内容的总结:

%This kind of thing should be entered by end users in a friendly interface (i.e. not code like here).    
causes(smoking, cancer, prob(0.05)).
causes(cancer, death, prob(0.1)).

%This kind  of thing should be entered by me (and not end users)
inferCauses(C, E, prob(P)):-
    causes(C, E, prob(P)).
inferCauses(C, E, prob(P)):-
    causes(C, I, prob(P1)),
    causes(I, E, prob(P2)),
    P is P1 * P2.

%This should be entered by end users, again in a friendly interface
?-whyCancer?
我知道优秀的本体编辑器,但我不确定它们是否是成熟的本体编辑器,或者是否可以与现有的本体编辑器接口

我也一直在研究OWL和SWRL规则,但我不确定它们是否与Prolog一样强大,或者它们与Prolog的接口方式如何

任何帮助都将不胜感激!多谢各位


/JCR

关于这方面的更多信息。

“添加和编辑事实,例如“吸烟导致癌症的概率为0.02”。这最好是图形化的,而不涉及编写序言或其他代码”-有什么比宣布这一事实更简单?你想画一张图表来表示事实还是什么?可能使用javascript(例如D3)和pengines的组合?例如编辑:这样当你画出一个边缘,使事实像:原因(吸烟、癌症、概率(0.05))。可能我在最初的帖子中有点不清楚。所谓图形化,我指的是一个GUI,例如,可以从三个列表中选择一个主题、关系和对象。。。不必是箭头之类的东西。如果你看这里的数字11:你可以看到一个javascript gui与pengines交互的例子来了解更多细节