我是耶拿的新手.我想创建一个新的OntModel并需要将一些其他本体导入到这个模型中.如果我将它写入文件,我希望该文件可以显示如下内容:
<owl:Ontology rdf:about="">
<owl:imports rdf:resource="http://test.owl#"/>
</owl:Ontology>
Run Code Online (Sandbox Code Playgroud)
现在,我不知道如何通过jena将其他本体导入到模型中.任何人都可以给我一些建议吗?
谢谢
使用protege,我正在创建RDF文件.现在我想知道如何指定一个槽是给定类的主键和外键?提前致谢
我有对象属性命名employ,employedBy因为它们是彼此相反的.如何将这些属性提供给实例?我的employ财产:
<owl:ObjectProperty rdf:ID="employ">
<rdf:type rdf:resource="http://rdf.pozitron.com/organizations/" />
<rdfs:domain rdf:resource="http://rdf.pozitron.com/organizations/"/>
<rdfs:range rdf:resource="http://rdf.pozitron.com/people/"/>
</owl:ObjectProperty>
Run Code Online (Sandbox Code Playgroud)
我的employedBy财产:
<owl:ObjectProperty rdf:ID="employedBy">
<rdf:type rdf:resource="http://rdf.pozitron.com/people/" />
<owl:inverseOf rdf:resource="#Employ" />
<rdfs:domain rdf:resource="http://rdf.pozitron.com/people/"/>
<rdfs:range rdf:resource="http://rdf.pozitron.com/organizations/"/>
</owl:ObjectProperty>
Run Code Online (Sandbox Code Playgroud)
现在如何描述employ和employedBy在这种情况下?假设Pozitron雇用约翰,约翰受雇于Pozitron.
<rdf:Description rdf:about="http://rdf.pozitron.com/people/john">
<rdf:type rdf:resource="http://rdf.pozitron.com/people/"/>
<person:personName>John</person:personName>
<organization:organizationName>Pozitron</organization:organizationName>
</rdf:Description>
Run Code Online (Sandbox Code Playgroud) 我无法在我的Ontology中表达以下情况:
假设我有四个人投票和四个投票(因此投票和选民之间存在一对一的映射).人们可以投票赞成或反对.如果我知道三人投票的结果,我应该能够推断出第四人的投票.
重申一下:约翰,鲍勃,玛丽和卡罗尔各自投票.由于有四个人有四票.投票结果是一个平局(2是,2没有).后来推理者确定Bob和John投了反对票.然后推理者应该能够推断出玛丽和卡罗尔的选票是肯定的.
目前我正在使用Jena的java api构建我的本体,并使用Jena推理器进行推理,所以我宁愿使用Jena支持的规则/语义.
我正在使用Protege开发一个本体,其中包含一些已在DBpedia中描述的内容.假设我想要包括一个"城市"课程,并将"柏林"作为个人.我的柏林将拥有柏林DBpedia所拥有的一些属性,但除此之外我还想"重用"DBpedia的柏林.
我是否需要定义自己的柏林然后使用rdf:seeAlso还是我可以以某种方式导入DBpedia的柏林并添加一些属性?
我目前在Protégé4中创建了一个关于发明的本体论.
我宣布:
fulfillsInvention和Need仍然在Protégé,我的课程发明由以下断言定义:
Invention subClassOf fulfills exactly 1 Need
Run Code Online (Sandbox Code Playgroud)
这意味着我不希望任何类型的个体Invention不是fulfills一个Need或多个.
为了验证这一说法,我创建了一个名为类型发明的个人Boots和类型的极品两个人分别叫Move_faster和Eat_faster.
我断言,Boots fulfills Move_faster并且Boots fulfills Eat_faster,这应该打破我的一致性,因为发明应该只满足一个需要.
但是,当我推出HermiT推理器时,我的本体仍然是一致的,即使在以下情况下:
Boots满足什么Boots 满足任何不是的人 Need这是正常的吗?
谢谢
我要使用的rdfs文件是cv.rdfs,我想将其转换为SKOS,因此可以在Maui Indexer中使用它
我是这个主题的完全菜鸟。请帮忙。
我正在使用耶拿与议会三重商店互动.以下sparql更新查询是插入我在本体中定义的类Tenant的新个体:
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ex: <http://www.example.org/Example#>
INSERT DATA
{
ex:tenant1 a ex:Tenant;
ex:hasName "admin";
ex:hasStatus "Enabled".
}
Run Code Online (Sandbox Code Playgroud)
其中hasName和hasStatus都是此本体中定义的两个属性.然后,如果我要删除ex:tenant1个体,是否有任何方法在sparqle中删除所有具有ex:tenant1作为主题的三元组?所以,只删除ex:tenant1 a ex:Tenant,我想删除对它的任何引用.我希望我能清楚地解释我的问题,并提前感谢你的帮助.
我试图理解为什么向OWL EL添加析取会使语言在计算上更复杂(例如,为什么在多项式时间内添加'或'会使可满足性,一致性和/或包含检查变得不可能......他们是p-标准OWL EL中的时间)
除其他外,OWL EL概况不允许分离和否定.我无法理解为什么使用现有的OWL EL结构无法实现析取,通过创建包含给定类表达式的析取子集作为子集的新类.
例如,可以表达式(在曼彻斯特语法中):
Class1 and (Class2 or Class3) and (Property1 some (Class3 or Class4))
Run Code Online (Sandbox Code Playgroud)
被改写为:
Class1 and NewClass1 and (Property1 some NewClass2)
where Class2 is a subset of NewClass1,
Class3 is a subset of NewClass1,
Class3 is a subset of NewClass2,
Class4 is a subset of NewClass2
Run Code Online (Sandbox Code Playgroud)
?
我知道答案是'不',但为什么'不'?