0

I am trying to find a defining microtheory for a given Cyc concept. For some of the concepts "defining-mt" SubL command does return "NIL" when defining microtheory exists (it can be verified with #$definingMt predicate).

For example:

  • subl code (defining-mt #$Person) -> NIL
  • cyc query (#$definingMt #$Person ?MT) -> #$BiologyMt

How can I make "defining-mt" SubL command output #$BiologyMt in this case?

I am using Research Cyc 4.0q KB.

1 Answers1

0

You've hit a case where the KB has gotten ahead of the API. In this particular case, if you look at the justification for the query, you'll see that it appeals to a rule:

(implies 
  (and 
    (genls ?COLL ?TYPE) 
    (defaultDefiningMtForSpecs ?TYPE ?MT)) 
  (definingMt ?COLL ?MT))

The SubL code you're using does a simple lookup, so it can't take advantage of that rule. Given the codebase and KB that you're using, your best bet is to simply continue using the query you've got.

KnowsStuff
  • 100
  • 7