Turtle中的本体如下所示。我用一个Jena模型来储存它。注意:下面的本体论不正确,如下面的答案所述
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
<http://example.com/minimalDecoupling>
a "http://www.w3.org/2002/07/owl#DatatypeProperty" ;
rdfs:label "minimal decoupling" .
<http://example.com/frequency>
a "http://www.w3.org/2002/07/owl#DatatypeProperty" ;
rdfs:label "frequency" .
<http://example.com/voltage>
a "http://www.w3.org/2002/07/owl#DatatypeProperty" ;
rdfs:label "Voltage" .
<http://example.com/powerConsumed>
a "http://www.w3.org/2002/07/owl#DatatypeProperty" ;
rdfs:label "power consumed" .
<http://example.com/installation>
a "http://www.w3.org/2002/07/owl#DatatypeProperty" ;
rdfs:label "installation" .
<http://example.com/Device>
a "http://www.w3.org/2002/07/owl#Class" ;
rdfs:label "device" .
<http://example.com/dimension>
a "http://www.w3.org/2002/07/owl#DatatypeProperty" ;
rdfs:label "dimension" .
<http://example.com/>
a "http://www.w3.org/2002/07/owl#Ontology" .
假设上面的本体存储在Jena模型ontologygraph
中,我正在使用下面的代码将Jena模型作为OWL本体加载。
OWLOntology ontology = ontologyManager.
loadOntologyFromOntologyDocument
(new ByteArrayInputStream(Ontology.toTurtle(ontologyGraph).getBytes()));
toturtle
方法如下所示:
public static String toTurtle(Model ontologyGraph){
StringWriter out = new StringWriter();
ontologyGraph.write(out,"TTL");
return out.toString();
}
我的问题是:
为什么所有的公理都以注释的形式出现?
输入模型中的类型是字符串文字,但需要是IRI。比如这个:
<http://example.com/Device>
a "http://www.w3.org/2002/07/owl#Class" ;
应该是:
<http://example.com/Device>
a <http://www.w3.org/2002/07/owl#Class> ;
<http://example.com/Device>
a owl:Class ;
OWLAPI用于序列化SWRL规则的OWL-XML序列化格式在哪里指定?例如。通过使用Protege(据我所知,它使用OWLAPI)序列化一个简单的规则,我得到以下代码: 这与SWRL规范[1]: 谢谢你![1]https://www.w3.org/submission/swrl/[2]http://dl.acm.org/citation.cfm?id=2890050
我正在开发一个maven插件来使用OWL-APIV3.4.3和HermiT 1.3.8.4验证OWL本体。一些OWL本体是专有的,因此在Web上不可用。 查看文档,我正在使用加载OWL文件以执行验证: 当本体不导入任何专有本体,但否则返回error时,此操作很好。我见过有人使用在本体URI和定义实体的物理文件之间创建链接,但我认为这在我的情况下行不通(主要是因为文件名未知)。 有没有办法告诉OWL
applyChange()方法总是返回“unsuccessful”,我找不到任何关于注释删除不起作用的文档。 注:在http://sourceforge.net/p/owlapi/mailman/message/28203984/here似乎起作用
我有一个用户对象,它被发送到服务器和从服务器发送。当我发出user对象时,我不想将散列密码发送给客户端。因此,我在password属性中添加了,但这也阻止了它反序列化为密码,这使得用户在没有密码时很难注册。 如何才能只让应用于序列化而不应用于反序列化?我使用的是Spring JSONView,所以我对没有太多的控制权。 将添加到属性 仅在getter方法上添加
问题内容: 我有一个发送到服务器或从服务器发送的用户对象。发送用户对象时,我不想将哈希密码发送给客户端。因此,我添加了password属性,但这也阻止了将其反序列化为密码,这使得在没有密码的情况下很难注册用户。 我怎样才能只应用序列化而不是反序列化?我使用的是Spring JSONView,因此对的控制不多。 我尝试过的事情: 添加到属性 仅添加getter方法 问题答案: 确切的操作方法取决于你
我试图使用Google的Gson库在Java中序列化和反序列化一个HashMap。我希望序列化这里所示的hashmap,将其保存到一个文件中,然后在以后的阶段从一个文件中读取并反序列化它。 HashMap如下所示 反序列化类的反序列化逻辑,以及我目前基于Web上找到的示例实现的对象类。IS: 下面是在test函数中调用的序列化和反序列化代码。测试函数序列化上面HashMap的一个对象,创建一个字符