标签: ontology

Ontology中的类/实例

我正在努力理解本体论基础知识.这是一个例子:

  • 车(班)
  • 2009大众CC(子类或实例?)
  • 我邻居的2009大众CC(实例)

我的问题是了解什么是"2009大众CC"(作为汽车模型).如果你将产品模型作为本体中的一个子类 - 突然间你的本体变得臃肿,有数千个"汽车"的子类.那是多余的.同时我们不能说"2009 VW CC"是一个实例,至少它不是一个类的实质实例.

区分常规实例和材料(不同的物理对象)是否有意义?

另一方面,如果两者都是实例(具有不同性质),那么实例如何继承非类的属性/关系?

ontology

7
推荐指数
1
解决办法
3231
查看次数

使用OWL代表if-then句子?

我正在使用基本的OWL,并且很容易表示一些简单的句子,例如"Songoku是讲师,他教数学".

例如:

<owl:Class rdf:ID="Lecturer"></owl:Class>
<owl:Class rdf:ID="Subject"></owl:Class>
<owl:Property rdf:ID="teach">
   <rdfs:domain rdf:resource="#Lecturer"/>
   <rdfs:range rdf:resource="#Subject"/>
</owl:Property>

<Subject rdf:ID="Maths"></Subject>
<Lecturer rdf:ID="Songoku">
    <teach>
        <Subject rdf:about="#Maths"></Subject>
    </teach>
</Lecturer>
Run Code Online (Sandbox Code Playgroud)

但是当我试图表达这句话时我遇到了一个问题:Bob是学生,如果Bob有5只狗,那么他至少有一只猫..

你能告诉我一些建议吗?

owl ontology

7
推荐指数
1
解决办法
1914
查看次数

如何在RDF中模拟营业时间

设计服务开放时间的最务实的方法是什么,以便SPARQL查询能够查询在特定时间间隔/特定时间间隔内打开的事物?

这个问题的答案应该包含:

  1. 本体的一个例子
  2. 使用此本体的数据样本
  3. SPARQL查询*返回此示例中在特定时间戳打开的所有内容

(*简单和性能的额外点)

rdf semantic-web owl ontology

7
推荐指数
2
解决办法
515
查看次数

如何从MeSH本体中提取同义词?

在我的这个工作层面,我需要从MeSH本体中提取一个类同义词.我正在寻找SPARQL查询的正确语法:它们如何存储在MeSH中的同义词?我该如何提取它们?

owl ontology sparql jena mesh-ontology

6
推荐指数
1
解决办法
1997
查看次数

SPARQL:如果类层次结构的深度未知,如何获得本体的概念?

我有一个关于SPARQL的问题.我有动物的本体论:

Animals  (is a superclass with object property <hasColor>)
------ Mammals (subclass of Animals)
------------- Dog (subclass of Mammals)
---------------- dog1 (a instance with property <hasColor>="white")
---------------- dog2 (a instance with property <hasColor>="red"   )
------ Bird (subclass of Animals)
Run Code Online (Sandbox Code Playgroud)

是否有可能找到SPARQL"所有动物,'白''或"所有动物实例"?倒退:我怎么知道,如果一个实例(dog1)属于动物?

注意:类层次结构的深度和广度是事先未知的.

此外,下面的查询将无法正常工作

SELECT ?x WHERE  {?x rdfs:subClassOf  :Animals .  ?x :has?olor "white"}
Run Code Online (Sandbox Code Playgroud)

并且下一个查询(查找所有动物,即'白色')仅在已知类层次结构的深度时才起作用.(所以,如果层次结构是已知的,我可以让指定的步骤(从层次结构底部的顶部)要达到的目标:在这种情况下,2个步骤.

SELECT ?z WHERE  {
?x  rdfs:subClassOf :Animals .
?y  rdfs:subClassOf ?x .
?z  rdf:type ?y .
?z :hasColor "white"
}
Run Code Online (Sandbox Code Playgroud)

下一个例子也是如此 - "查找动物的所有实例"

SELECT ?z WHERE …
Run Code Online (Sandbox Code Playgroud)

ontology sparql jena semantics

6
推荐指数
1
解决办法
6080
查看次数

如何在Protégé中扩展本体与其他标准本体?

我正在使用Protégé构建本体,但是想用其他标准本体扩展它,例如frbr,prov和org.是否有标准的方法将我们的本体与这些标准本体集成在一起,还是我们可以将这些本体相互合并?我想用Protégé完成这些任务.

rdf owl ontology protege4 semantics

6
推荐指数
1
解决办法
2110
查看次数

本体能做什么,关系数据库不能做什么?

我是本体的新手。经过一番研究,我仍然不知道什么是本体在应用上的优势。我已经知道本体可以提供比数据库更有意义的查询接口,并且本体可以使用推理器来查找隐藏信息以获得更好的结果。但。在数据库中构建一个布尔表来表示每个实例的新概念,或者简单的 if-else 规则引擎。我们可以获得与本体相同的结果,但性能更好。那么,在应用中使用本体的最重要原因究竟是什么?

database ontology

6
推荐指数
1
解决办法
5659
查看次数

将 OWL 本体转换为 OBO

我需要将 OWL 本体转换为 OBO。

\n\n

我已经尝试过这个工具https://github.com/ontodev/robot/但输出格式根本不正确,只是某些部分不正确。

\n\n

还有 OBO-EDIT2 和 Proteg\xc3\xa9,但无法进行转换。

\n\n

最后我尝试了这个 Perl 模块http://search.cpan.org/~easr/但它给出了这个错误

\n\n

未定义的子例程 &XML::Parser 在 /usr/local/share/perl/5.14.2/OBO/Parser/OWLParser.pm 第 146 行调用。

\n\n

尝试安装 XML::Parser 总是以错误结束。

\n\n

谁能帮我转换本体吗?

\n

perl owl ontology xml-parsing

6
推荐指数
1
解决办法
1126
查看次数

何时使用图数据库、本体和知识图

从实际角度来看,我一直在努力理解这些技术何时有用,以及它们之间有何不同。专家可以检查一下我的理解吗?

  1. 图形数据库:当关系复杂、继承、以不同程度的置信度推断并且可能发生变化时,图形数据库比关系数据库更容易理解和管理。一些示例:用户不知道他们需要层次结构的深度;从社交媒体推断关系,对 ID 解析、主题解析和关系强度有不同程度的置信度;或者不知道他们要存储什么类型的呼叫中心数据;所有这些都可以存储在关系数据库中,但它们需要不断更新。它们对于某些任务也更具表现力。

  2. 本体:这些正式且标准化的知识表示用于打破数据孤岛。例如,假设一家 B2B 销售公司从多个不同的业务领域获得收入,其中包括一次性付款、订阅、IP 销售和咨询服务。收入数据存储在许多不同的数据库中,这些数据库具有很多特性。本体允许用户将“客户付款”定义为“创造或退还收入”的任何内容,以便主题专家可以在其数据库中适当地标记付款。本体可以与图数据库或关系数据库一起使用,但是对类继承的强调使得它们在图数据库中更容易实现,在图数据库中可以轻松地对类的分类进行建模。

  3. 知识图:知识图是一种图数据库,其中语言(含义、实体和节点分类法)由本体管理。因此,在我们的 B2B 示例中,“客户付款”边缘具有一次性付款、订阅等子类型,并将“客户”类连接到“业务线”类。

这基本上是正确的吗?

ontology graph-databases knowledge-graph

6
推荐指数
1
解决办法
2589
查看次数

使用 owlready 合并两个本体

我已经2 ontologies使用owlready2库做了

list(ontology1.classes())             

[old_dataset_ontology.weather,
 old_dataset_ontology.season]

list(ontology1.individuals())

[old_dataset_ontology.rainy,
 old_dataset_ontology.windy,
 old_dataset_ontology.cold,
 old_dataset_ontology.clouds]


list(ontology2.classes())             

[new_dataset_ontology.weather,
 new_dataset_ontology.season,
 new_dataset_ontology.season1]

list(ontology2.individuals())

[new_dataset_ontology.rainy,
 new_dataset_ontology.windy,
 new_dataset_ontology.cold1]
Run Code Online (Sandbox Code Playgroud)

我想要merge他们,但我找不到办法olwready2。文档中没有任何内容。我只想要一个简单的字符串匹配并删除重复的类和 indiv

有任何想法吗?

python owl ontology python-3.x owlready

6
推荐指数
1
解决办法
565
查看次数