我需要从相应的字符串中获取 OWLDatatype 或 OWL2Datatype。
例如,假设xsd:string
我想得到相应的枚举常量 OWL2Datatype.XSD_STRING。
我尝试了以下方法:
- OWL2Datatype strDT = OWL2Datatype.valueOf("xsd:string")
- OWL2Datatype strDT = OWL2Datatype.valueOf("string")
- OWL2Datatype owl2dt = OWL2Datatype.valueOf(OWL2Datatype.XSD_STRING.getIRI().toString());
但他们都没有抛出异常:
java.lang.IllegalArgumentException: No enum const class org.semanticweb.owlapi.vocab.OWL2Datatype.string
(这部分根据我通过的内容发生变化 - 见上文)。
问题编号 1
方法 valueOf 的签名是:OWLDatatype.valueOf(java.lang.String name)
,描述为“返回具有指定名称的此类型的枚举常量”。
如何获取 OWL2Datatypes 的名称?
问题 2
我决定切换到 OWLDatatype 类并使用类的方法访问“基本”数据类型OWLDataFactory
。该类提供了用于创建许多不同类型的方法(例如,getDoubleOWLDatatype),除了对应于xsd:string
.
如何创建与名称对应的 OWLDatatype xsd:string
?