我只是想知道如何从openCyc java API获得wordnet mappings和prettyString。
例如,对于#$AdultFemaleHuman,我希望获得:
prettyString:“女人”,“成年女性”,“女士”,“女士”,“宝贝”,“女士”
wordnet映射:“synset-noun noun 1”
但是我找不到从java API中检索它的方法。如果有人能帮上忙,我将不胜感激。或者我需要升级到researchCyc才能完成这项工作?
发布于 2015-08-07 05:07:54
所有平台的API都是相同的。一些应用编程接口调用可能会根据KB内容和Cyc类型(OpenCyc与ResearchCyc)返回不同的值。
在您的例子中,OpenCyc提供了相关内容。
我们将很快发布一个新的OpenCyc,它将与我们最新的Java一起工作。API本身可以在这里找到:http://dev.cyc.com/由于您的OpenCyc可以与旧版本的Java API一起使用,我将提供使用该API的示例,但请在新的API可用时升级到新的API,因为在OpenCyc发布后,我们将不再支持旧的API。
CycAccess cyc = <SET YOUR="" CYC="" ACCESS="">;
CycConstant prettyStr = cyc.getLookupTool().find("prettyString");
CycConstant adultFem = cyc.getLookupTool().find("UnixOS");
List<Object> strings = cyc.getLookupTool().getArg2s(prettyStr, adultFem);
System.out.println("Pretty strings: " + strings);在新的API中,您将执行以下操作:
KBPredicate prettyStr = KBPredicateImpl.get("prettyString");
KBCollection col = KBCollectionImpl.get("UnixOS");
Collection<String> strs = col.<String>getValues(prettyStr, 1, 2, ContextImpl.get("EnglishMt"));
System.out.println("Strings: " + strs);字符串: UNIX操作系统
请随时使用http://dev.cyc.com/发布问题。
https://stackoverflow.com/questions/31859072
复制相似问题