Как удалить NART из Cyc KB

Когда я удаляю NART и ищу строку NART в КБ, я все равно вижу ее. Чем NART отличаются от констант. Почему я не могу их удалить.

2 ответа

Для получения дополнительной информации посетите: http://dev.cyc.com/

Больше примеров кода здесь:

http://dev.cyc.com/cyc-api/samples/index.html

Следующий код создает три NART и NAUT, демонстрирующие различные способы сделать это. Если вы раскомментируете последнюю строку, вы увидите, что у нас больше нет утверждения с yieldForPeriodByAccountingCOC. Это свидетельствует о том, что NART был удален. Но обратите внимание, что если вы ищете в браузере термин (FiscalYearFn Walmart-CommericOrganization 2012), вы увидите базовый NAUT и его #$isa, но он не будет иметь никаких утверждений. В качестве постоянного вы увидите четкое уведомление о том, что его нет в КБ. Это потому, что неатомарные термины могут показывать очень основную информацию только благодаря их синтаксическому представлению. Не потому что они в КБ.

@Тестовое задание
  public void testUnreifiableFunctionWithDateInput2() выбрасывает KBApiException {

    KBFunctionImpl f1 = KBFunctionImpl.get ("USDollarFn");
    KBFunctionImpl f2 = f1.findOrCreateFunctionalTerm(KBFunctionImpl.class, 2012);
    f2.addResultIsa(KBCollectionImpl.get("MonetaryValue"), ContextImpl.get("UniversalVocabularyMt"));
    FactImpl.findOrCreate(new SentenceImpl(KBPredicateImpl.get("argsIsa"), f2, KBCollectionImpl.get("NumericInterval")));
    KBIndividual i1 = f2.findOrCreateFunctionalTerm(KBIndividualImpl.class, 10000000);

    KBPredicate p = KBPredicateImpl.get("yieldForPeriodByAccountingCOC");
    KBIndividualImpl w = KBIndividualImpl.get("Walmart-CommercialOrganization");

    KBFunctionImpl fy = KBFunctionImpl.get("FiscalYearFn");
    KBIndividual i2 = fy.findOrCreateFunctionalTerm(KBIndividualImpl.class, w, 2012);
    KBIndividual coc = KBIndividualImpl.findOrCreate("(#$AccountingCodeOfTypeTypicallyUsedByAgentFn #$GenerallyAcceptedAccountingPrinciples #$Walmart-CommercialOrganization)");
    w.addFact(Constants.uvMt(), p, 1, i1, i2, coc);

    // i2.delete();
  }
Другие вопросы по тегам