Error:Did not recognize #$PresidentFn

Alex
2012-02-27
2013-05-28
  • Alex
    Alex
    2012-02-27

    Hello All.
    I am newbe to opencyc. And I am stack.
    With the help of query i tried the following:

    (#$PresidentFn #$Mexico)

    And cyc responded:

    Not a Sentence in New Inference

    The following string did not specify a sentence :
    (#$PresidentFn #$Mexico)
    because:
    Did not recognize #$PresidentFn as a truth function (predicate, quantifier, or logical operator).

    I dont understand what's the matter.

     
  • Alex
    Alex
    2012-02-27

    Hello All.
    I am newbe to opencyc. And I am stuck.
    With the help of query tool i tried the following:
    (#$PresidentFn #$Mexico)

    And cyc responded:

    Not a Sentence in New Inference

    The following string did not specify a sentence :
    (#$PresidentFn #$Mexico)
    because:
    Did not recognize #$PresidentFn as a truth function (predicate, quantifier, or logical operator).

    I dont understand what's the matter.

     
  • David Baxter
    David Baxter
    2012-02-27

    Hi,

    A "sentence" in CycL is something that can be true or false. (PresidentFn Mexico) denotes the president of Mexico. The arg0 of a query sentence needs to be a predicate (like #$isa), quantifier (like #$thereExists), or logical operator (like #$and). You can generally recognize these because their constant names start with lowercase letters. Hope this helps.

    David

     
  • Alex
    Alex
    2012-02-28

    Thnx a lot.
    Alex

     
  • To clarify a bit, you probably want to do a query like (#$equals ?X (#$PresidentFn #$Mexico))

    You won't get any answers to that, either, since Cyc doesn't come with the factual data required,
    but fixing that's just a matter of  asserting the facts.  (e.g. (#$rewriteOf  #$FelipeCalderon-NationalPresident (#$PresidentFn #$Mexico))

    As an exercise, in RCyc 2.0 RC 4, there is enough info about Mr Calderón to support inferring the needed fact - all that's missing is a forward rule that combines that info.

     
  • In fact I glossed over the truth a bit…
    what you really want to do with these functions that denote an individual is to assert that the individual is equal to the result of the function, with the context of the time period over which the equality is true.