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服务器。
在未来的版本中,如果用户确定并允许他们禁用检查,我们可能会放宽此要求。
在较旧的 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服务器。
在未来的版本中,如果用户确定并允许他们禁用检查,我们可能会放宽此要求。