Prolog事实与查询

Prolog事实与查询,prolog,Prolog,我有事实: studies(it, da). // IT branch studies the module DA studies(it, pm). studies(ie, pm). studies(it, plc). studies(it, se). studies(cs, plc). studies(cs, da). studies(cs, se). 我需要为以下内容编写查询: cs学生学习多少科目 哪个分支研究pm和plc 聚合\u全部(计数、研究(cs、X)、计数)。(请参阅

我有事实:

studies(it, da).      // IT branch studies the module DA
studies(it, pm).
studies(ie, pm).
studies(it, plc).
studies(it, se).
studies(cs, plc).
studies(cs, da).
studies(cs, se).
我需要为以下内容编写查询:

  • cs学生学习多少科目

  • 哪个分支研究pm和plc

  • 聚合\u全部(计数、研究(cs、X)、计数)。
    (请参阅)

  • 研究(X,pm),研究(X,plc)。


  • 不。这些都是事实。你能告诉我规则和查询的区别吗。事实上,我是序言的新手。@Hacker688规则的形式是
    :-
    ,其中,
    Head
    命名了一个谓词,该谓词从0-n个变量或基础项中提取,并且
    Body
    列出了一组必须满足的条件,如果
    Head
    为真。我们可以这样解读这条规则:“若身体中的每一句话都是真的,那个么头部就是真的。”。事实本质上是一种规则,其形式为
    :-true
    。在提示
    ?-
    之后,在顶层输入一个查询,询问某个语句是否正确。Prolog试图通过测试查询语句是否遵循现有事实和规则来证明查询语句是正确的。