Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.


Problems with opencyc-4.0

  • CrazyMarty

    Seems like such a simple thing, but opencyc believes that 16 is not an integer between 1 & 31:

    Sentence not Well-Formed
    Mt : BaseKB
    Sentence :
    (birthDate ChristopherEccleston-Actor
    (DayFn 16
       (MonthFn February
         (YearFn 1964))))

    Repairs :
    No repairs available. Could not determine any way to make the above sentence well-formed by adding new knowledge.

    Explanation :
    Term 16 violates defnIff CYC-INTEGER-RANGE of collection #<(IntegerFromToFn 1 31)> applicable to arg 1 of DayFn in mt BaseKB. Term 16 violates defns of arg-isa #<(IntegerFromToFn 1 31)> applicable to argument 1 of relation DayFn in mt BaseKB.

    Copyright © 1995 - 2012 Cycorp. All rights reserved.

  • David Baxter
    David Baxter

    Ugh, how embarrassing! This support is implemented via a forward rule that appears to be missing from OpenCyc. It should work if you assert this rule in #$BaseKB, with direction "forward": (Click "show" for Assertion Context in the Assert tool to enable this option):

         (different ?HIGH ?LOW)
         (termOfUnit ?NAT
           (IntegerFromToFn ?LOW ?HIGH)))
       (integerRange ?NAT
         (Unity ?LOW ?HIGH)))

  • CrazyMarty

    Yes, that does work as expected.