Cyc KBAPI 'constants' 可以在不调用 Cyc 服务器的情况下生成吗?

Can Cyc KBAPI 'constants' be made without a call to the Cyc server?

在较旧的 OpenCyc Java API 中,可以通过调用

之类的东西来创建一个简单的 Cyc 项

new CycConstant("Cat", new Guid("bd590573-9c29-11b1-9dad-c379636f7270"))

当您这样做时,不会往返于服务器。使用新的 KB API (http://dev.cyc.com/cyc-api/kb-api.html),有没有办法做这样的事情,或者在这个 API?

中是否需要回调到服务器

是的,KB API 必须至少调用一次 Cyc 服务器。

所有 KB API 对象(有一些例外)都有一个已弃用的获取基础 Base API 对象的方法。

例如,KBCollectionImpl.get(CycObject) 与概念 "Cat" 相关。

CycConstant catHL = new CycConstant("Cat", new Guid("bd590573-9c29-11b1-9dad-c379636f7270"));

KBCollection catEL = KBCollectionImpl.get(catHL);

这将通过定位 HL 项帮助 API,如果仅给定一个字符串,API 将不得不这样做。

但是为了验证"Cat"这个概念确实是一个Collection,并且进一步让它成为FirstOrderCollection的对象,API需要访问Cyc服务器。

在未来的版本中,如果用户确定并允许他们禁用检查,我们可能会放宽此要求。