标签: owl

在Python中加载本体

我有一个用OWL编写的本体。有人知道我可以将其加载到python吗?任何包装,甚至手动?在其他问题中提到的rdflib不适合我,因为它主要与RDF有关,而“ Seth”是一个非常好的库,它不起作用,因为它需要“ Pellet”库,该库的网站似乎已关闭并且它(seth)也仅适用于JVM 1.4!

python owl ontology

5
推荐指数
1
解决办法
2826
查看次数

猫头鹰 - 保护不正确?如何准确定义一个"素食"类?

我已经被困了两天,现在试图理解为什么下面的场景不起作用:

截图:http://dl.dropbox.com/u/4677548/screenshots.html

我有一个VegetarianFood类(Food的子类)相当于"Food and(Eggs or MilkAndDerivates或VeganFood)",你可以在屏幕截图中看到1

反过来,VeganFood课程相当于其他课程(NutsAndSeeds,谷物,水果等...)截图2

你可以看到有两个人(切达奶酪和腰果)创建为MilkAndDerivates和NutsAndSeeds截图3,他们被正确推断为VegetarianFood和VeganFood成员

然后我创建了两个人作为食谱,一个只有腰果(PastaVega)和一个同时有切达干酪和腰果(PastaVege),使用对象属性hasIngredient截图4和5

他们已经推断为配方......但没有落入VegatarianRecipe和VeganRecipe的类别,定义如下截图6和7

我没有线索,为什么他们不被推断为VegetarianRecipe(或素食主义者)?我错过了什么?

编辑:

如果我改变VegetarianRecipe(或素食主义者)从"食谱和(只有素食者食物)"

"食谱和(有一些素食食品)"

截图8

接受个人展示,但当然这不是我想要做的,因为这将包括混合肉和素食食谱的食谱.那么如何定义一个素食和纯素食品类,以便推理员在食谱素食或素食时正确推断????

rdf semantic-web owl ontology protege

5
推荐指数
1
解决办法
1390
查看次数

如何从原始数据(CSV)创建本体?

我正在使用具有相关类,对象属性等的OWL本体来建模大学数据.我将大学数据放在一个简单的文本文件中(比如CSV).我想使用我的模型为这些数据创建本体.我的问题是:

  1. 这是本体如何工作的?
  2. 如果是这样,如何使用Jena完成这项工作?

rdf semantic-web owl ontology data-modeling

5
推荐指数
1
解决办法
6556
查看次数

为什么这个DL-Query没有返回任何个人?

此DL-Query不会返回任何个人:

  • 查询(Protégé语法): hasPet exactly 1 DomesticAnimal

这是本体的一部分:

:hasPet a           owl:ObjectProperty;
        rdfs:domain :Human;
        rdfs:range  :DomesticAnimal;
        owl:inverseOf : petOf;


:Joe    a           :Human;
        hasPet      :Lassy.

:Bob    a           :Human;
        hasPet      :Sparkey, Lucky.
Run Code Online (Sandbox Code Playgroud)

查询:

  • petOf value Bob 回归SparkeyLucky
  • petOf value Joe 回报 Lassy
  • hasPet exactly 1 没有回报.

为什么不是最后一个查询返回Joe?我在使用Pellet,HermiT和FaCT ++的Protégé中尝试过它,但它没有用.

rdf owl dlquery protege description-logic

5
推荐指数
1
解决办法
1587
查看次数

是否可以在OWL2/RDF中同时使用xsd数据类型(例如xsd:string)和xml语言属性?

我正在使用Protege 4.3来创建我的OWL2本体.最近我提到在添加注释属性rdfs:label时,您可以选择定义数据类型(例如xsd:string)或语言(xml:lang).但是两者都无法定义.如果选择数据类型,则语言字段将淡入淡出,反之亦然.

这可能是一个特定于Protege的问题,但我想知道OWL2本身是否同时禁止使用数据类型和语言.我做了一些研究,但我找不到任何明确提到的文件.但我也找不到一个完成它的例子.就像是 ...

<Class rdf:about="MyClass">
    <rdfs:label xml:lang="en" rdfs:Datatype="xsd:string">My special class</rdfs:label>
</Class>
Run Code Online (Sandbox Code Playgroud)

... 要么 ...

<http://example.org/AboutMe> ns0:gender "male"@en^^xsd:string .
Run Code Online (Sandbox Code Playgroud)

我猜上面的例子无效,但为什么呢?

xml xsd types rdf owl

5
推荐指数
1
解决办法
1412
查看次数

如何在OWL中定义关系属性?

在我的本体论中,我有个人"pic Joan",这是概念"山"和"端口Cerbère"的实例,这是概念"村庄"的一个实例.我有从"pic Joan"到"Cerbère"港口的"支配"关系(在这个意义上说,山被认为是靠近村庄,因此"支配它").

但事实上,我需要代表信息"pic Joan在距离西北1.5英里的地方塞尔塞雷港."

所以,从逻辑上讲,我需要附加关系"支配"数据属性"distance = 1.5M","direction = NW".

但是,AFAIK,OWL 不提供关系属性.我知道我可以为关系定义范围和域,但这不是关于范围和域,相同的关系在不同实例之间具有不同的属性值.

您如何在OWL中表示此信息?

(辅助问题:是否有其他本体论形式可以定义关系的属性?如果是,是否有像Protégé这样的工具来管理该形式主义的本体?)

knowledge-management semantic-web owl ontology

5
推荐指数
1
解决办法
692
查看次数

在Protege中向OWL Ontology添加知识语句)

在我的Ontology中,我有三个类,播放器,团队竞赛.我还有两个对象属性,使用competesIn.域采用团队和范围播放器,域competesIn团队 球员和范围的竞争.

我希望Ontology能够推断出如果一个球员被一个球队雇用并且该球队参加了比赛,那么该球员也会参加那场比赛.是否有任何方法可以将此信息添加到Ontology中,而无需为本体中的每个人添加{Player} competesIn {Competition}?

owl ontology protege description-logic

5
推荐指数
1
解决办法
1716
查看次数

在Protege中使用RDF/XML格式创建的Ontology文件是RDF文件还是OWL文件?

我在Protege中创建了本体文件并将其保存为RDF/XML格式.它还包含OWL标记.

因此,Protege创建并保存为RDF/XML格式的本体文件实际上是RDF文件或OWL文件的RDF格式或包含RDF的OWL格式还是其他什么?

<?xml version="1.0"?>
<!DOCTYPE rdf:RDF [
    <!ENTITY owl "http://www.w3.org/2002/07/owl#" >
    <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
    <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
    <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
]>

<rdf:RDF xmlns="http://www.semanticweb.org/q49f318b/ontologies/2014/5/untitled-ontology-13#"
     xml:base="http://www.semanticweb.org/q49f318b/ontologies/2014/5/untitled-ontology-13"
     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
     xmlns:owl="http://www.w3.org/2002/07/owl#"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <owl:Ontology rdf:about="http://www.semanticweb.org/q49f318b/ontologies/2014/5/untitled-ontology-13"/> 
    <!-- 
    ///////////////////////////////////////////////////////////////////////////////////////
    //
    // Classes
    //
    ///////////////////////////////////////////////////////////////////////////////////////
     -->
    <!-- http://www.semanticweb.org/q49f318b/ontologies/2014/5/untitled-ontology-13#Student -->
    **<owl:Class rdf:about="http://www.semanticweb.org/q49f318b/ontologies/2014/5/untitled-ontology-13#Student"/>**  
  <!-- http://www.semanticweb.org/q49f318b/ontologies/2014/5/untitled-ontology-13#University -->

    **<owl:Class rdf:about="http://www.semanticweb.org/q49f318b/ontologies/2014/5/untitled-ontology-13#University"/>
</rdf:RDF>**
<!-- Generated by the OWL API (version 3.4.2) http://owlapi.sourceforge.net -->
Run Code Online (Sandbox Code Playgroud)

rdf owl ontology protege

5
推荐指数
1
解决办法
6366
查看次数

超类头在Protege 4.3中不可用

我正在使用protege 4.3和披萨教程来自130.88.198.11/tutorials/protegeowltutorial/resources/ProtegeOWLTutorialP4_v1_3.pdf(href不能用作链接有数字域)但是有很多差异,如超类标题不存在,如下图所示: -

在此输入图像描述

另外,教程谈论的几个小部件无法在protege中找到.请指导Superclasses标题所需的插件(这阻碍了我添加限制)以及所有其他功能.谢谢.

owl ontology protege

5
推荐指数
1
解决办法
2767
查看次数

OWL我怎么知道某些东西应该是类还是实例?

我正在尝试构建一个Ontology来表示属性(资产),该属性应该有一个类型,如别墅或公寓......

我的问题是,我不知道别墅和公寓是否应该是班级或实例.我怎么知道

我正在考虑有一个被调用的类Property和一个被调用的关系isTypeOf和一个被调用的类PropertyType,它有两个实例apartmentvilla.那是对的吗?或者我应该ApartmentVilla类作为类的子PropertyType类?

rdf semantic-web owl ontology rdfs

5
推荐指数
1
解决办法
456
查看次数