早上好,
我的工作目标是构建具有非分类关系的模块化本体.
我在写一个猫头鹰文件时遇到了一些麻烦(我无法想象类和限制之间的关系).
我是本体领域的新手,所以我想对现有的本体进行例证,看看如何定义非分类关系.
然而,只有我认识的人是MeSH和GENE,他们只使用分类学关系.那么,在网络上,是否存在使用非分类学的任何已知本体?
谢谢.
我有这个java代码,使用apache jena api,查询比萨本体
String queryStr =
"prefix pizza: <" + PIZZA_NS + "> " +
"prefix rdfs: <" + RDFS.getURI() + "> " +
"prefix owl: <" + OWL.getURI() + "> " +
"select ?pizza where {?pizza a owl:Class ; " +
"rdfs:subClassOf ?restriction. " +
"?restriction owl:onProperty pizza:hasTopping ;" +
"owl:someValuesFrom pizza:PeperoniSausageTopping" +
"}";
Query query = QueryFactory.create(queryStr);
QueryExecution qe = QueryExecutionFactory.create(query, model);
ResultSet rs = qe.execSelect();
ArrayList rsList = (ArrayList)ResultSetFormatter.toList(rs);
for(int i=0;i<rsList.size();i++){
out.println(rsList.get(i).toString());
}
Run Code Online (Sandbox Code Playgroud)
它返回:
( ?pizza = …Run Code Online (Sandbox Code Playgroud) 我创建了一个包含两个类的本体,第一个是命名的Father,第二个是一个名为的子类Son.我想使用Jena为类父设置以下条件
只有儿子.
有一些儿子.
然后我会在课堂上做同样的事情Son:
有一些父亲.
我的第二个问题是我不知道如何使用Jena Son将类的实例与类相关联Father.我知道使用Protégé操纵我的课程是可能的,但我想探索耶拿.
什么是意义owl:hasValue的限制,以及它是如何从不同的owl:allValuesFrom和owl:someValuesFrom?
在本体论中,我想写一个公理,上面写着"每个拥有文凭的人都有文化."我怎么写这个?
在 RDFS 中,所有事物都是rdfs:Resource. 所有其他类都是 的子类rdfs:Resource。并且rdfs:Resource是 的一个实例rdfs:Class。
我的问题是:有人可以帮助解释上面的这一段吗?我对这个子类和实例以及它们为什么有这种关系感到困惑。
我正在检查如果实例具有特定谓词的值,则将该值绑定到特定变量,否则,将该变量绑定到整数类型的值1.这是我的代码
select ?boosted where {
:r1 a ?x
optional
{
?item rs:boostedBy ?boostedOptional
bind (if(bound(?boostedOptional), ?boostedOptional, "1"^^xsd:integer) as ?boosted)
}
}
Run Code Online (Sandbox Code Playgroud)
提升的价值总是空的,请看
告诉我为什么?
我认为你不需要数据来测试我的代码无法正常工作的原因,因为对我来说这听起来像是使用绑定的一般错误.但是,如果你想要数据,我会给你数据.
从第一个位置开始没有rs:boostedBy谓词,所以我希望始终保持默认值,在这种情况下,它是1的整数类型.
我正在尝试使用Protege创建一个OWL本体.我想使用反函数属性作为关系数据库中主键的相似性.例如,我有一个属性,它具有唯一的id作为对象,因此标识实体,不允许其他实体将该值与该属性一起使用.
由于对象值是字符串,因此它必须是数据属性.但是在Protege中,您无法将反向功能特性分配给数据属性.
为什么我不能宣布一个数据属性是一个反函数性质,我应该怎么回事打造的" 唯一密钥 "的逻辑,如果不是这样?
先谢谢你,
弗兰克
处理数值数据类型时,我遇到了SPARQL问题.
我有一个本体论(http://cabas.ugr.es/ontology/ugr),其中我定义了一对属性,代表了特定性别的学生人数:
<http://cabas.ugr.es/ontology/ugr#hombres>
a owl:DatatypeProperty, owl:FunctionalProperty, rdf:Property ;
rdfs:label
"hombres"@es,
"men"@en ;
rdfs:comment
"Número de estudiantes hombres."@es,
"Number of male students."@en ;
rdfs:range xsd:nonNegativeInteger ;
rdfs:isDefinedBy <http://cabas.ugr.es/ontology/ugr#> ;
owl:sameAs <http://cabas.ugr.es/ontology/ugr#hombres> ;
owl:inverseOf <http://cabas.ugr.es/ontology/ugr#mujeres> ;
ns1:term_status "stable" .
<http://cabas.ugr.es/ontology/ugr#mujeres>
a owl:DatatypeProperty, owl:FunctionalProperty, rdf:Property ;
rdfs:label
"mujeres"@es,
"women"@en ;
rdfs:comment
"Número de estudiantes mujeres."@es,
"Number of female students."@en ;
rdfs:range xsd:nonNegativeInteger ;
rdfs:isDefinedBy <http://cabas.ugr.es/ontology/ugr#> ;
owl:sameAs <http://cabas.ugr.es/ontology/ugr#mujeres> ;
owl:inverseOf <http://cabas.ugr.es/ontology/ugr#hombres> ;
ns1:term_status "stable" .
Run Code Online (Sandbox Code Playgroud)
我在Virtuoso(http://cabas.ugr.es:8890/sparql)上安装了一个SPARQL端点,我在其中输入以下查询:
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> …Run Code Online (Sandbox Code Playgroud) OWL是否可能对语言属性具有最大基数限制,这将限制每种语言的基数。
例如,我只希望dct:title每种语言最多一种。所以,
:demo dct:title "Demo"@en, "Demo"@nl.
Run Code Online (Sandbox Code Playgroud)
可以,但是
:bad_demo dct:title "Bad demo"@en, "Wrong demo"@en.
Run Code Online (Sandbox Code Playgroud)
会给一个错误?
假设我正在创建车辆本体。车辆及其制造商通过诸如此类的连接MyCar hasManufacturer Tesla。然后,制造商有一个原产国,我将其指定为Tesla hasCountryOfOrigin USA。我要的是运行我的推理机时MyCar要连接的USA,MyCar hasCountryOfOrigin USA。我知道这与传递财产不同。我该如何实现?(专门使用Protege)
ontology ×10
owl ×7
semantic-web ×6
rdf ×5
sparql ×3
java ×2
jena ×2
protege ×2
rdfs ×2
linked-data ×1
modeling ×1
properties ×1
taxonomy ×1