标签: reasoning

推理机器和语义推理器之间有什么区别?

我发现了一些关于两者的简短文章,对我而言,听起来两者都是通过逻辑来解决问题,类似于Prolog的工作原理.我必须补充一点,我是这个领域的新手,所以我可能错了.非常错误.

artificial-intelligence inference reasoning semantics

3
推荐指数
1
解决办法
2546
查看次数

在Neo4J db上使用Jena推理器

这是我第一次在这里写作,但我真的遇到了一个问题:是否有可能在No-SQL数据库上使用Jena推理器,比如Neo4J,已经充满了数据?

我有一个Neo4J的图表代表了一堆三元组,我想在它们上使用Jena API和Jena推理器.我考虑过使用Jena的SDB/TDB组件,但我不知道如何将数据实际加载到我的模型中,因为SDB组件似乎只适用于SQL数据库而且整个TDB javadoc似乎有点太多了.我是否应该为TDB模型定义某种配置文件?

非常感谢你的帮助.

database jena neo4j reasoning

3
推荐指数
1
解决办法
2885
查看次数

OWL:如何从超类中继承两个类之间的属性关系?

假设我们有两个名为People和 的类Disease。这些类通过对象属性相关has

:People :has :Disease
Run Code Online (Sandbox Code Playgroud)

People有子类(或个体)John,并且Disease有子类(或个体)Cancer

:John a :People
:Cancer a :Disease
Run Code Online (Sandbox Code Playgroud)

如何通过推理得到这些子类之间的关系呢?

:John :has :Cancer
Run Code Online (Sandbox Code Playgroud)

inference owl protege reasoning object-property

3
推荐指数
1
解决办法
2221
查看次数

Protégé4.3:本体一致性

我目前在Protégé4中创建了一个关于发明的本体论.

我宣布:

  • 财产 fulfills
  • 两个班级:InventionNeed

仍然在Protégé,我的课程发明由以下断言定义:

Invention subClassOf fulfills exactly 1 Need
Run Code Online (Sandbox Code Playgroud)

这意味着我不希望任何类型的个体Invention不是fulfills一个Need多个.

为了验证这一说法,我创建了一个名为类型发明的个人Boots和类型的极品两个人分别叫Move_fasterEat_faster.

我断言,Boots fulfills Move_faster并且Boots fulfills Eat_faster,这应该打破我的一致性,因为发明应该只满足一个需要.

但是,当我推出HermiT推理器时,我的本体仍然是一致的,即使在以下情况下:

  • Boots满足什么
  • Boots 满足任何不是的人 Need

这是正常的吗?

谢谢

rdf owl ontology protege reasoning

2
推荐指数
1
解决办法
458
查看次数

如何使用 owlexplanation 项目获得不一致的解释

我对 GitHub 上 Matthew Horridge 的 owlexplanation 项目有疑问。

在README文件中有以下代码:

import org.semanticweb.owl.explanation.api.*;
import org.semanticweb.owlapi.model.*;
import org.semanticweb.owlapi.reasoner.OWLReasonerFactory;

OWLReasonerFactory rf = ; // Get hold of a reasoner factory
OWLOntology ont = ; // Reference to an OWLOntology

// Create the explanation generator factory which uses reasoners provided by the specified
// reasoner factory
ExplanationGeneratorFactory<OWLAxiom> genFac = ExplanationManager.createExplanationGeneratorFactory(rf);

// Now create the actual explanation generator for our ontology
ExplanationGenerator<OWLAxiom> gen = genFac.createExplanationGenerator(ont);

// Ask for explanations for some entailment
OWLAxiom entailment ; // …
Run Code Online (Sandbox Code Playgroud)

java owl consistency reasoning

2
推荐指数
1
解决办法
889
查看次数

Apache Jena框架的推理示例存在问题

我有一个严重的问题,让任何推理器运行起来.此外,文档中的示例:https://jena.apache.org/documentation/inference/ 在此处不起作用.我将示例转移到单元测试中,以便可以更容易地再现问题.

推理仅限于某些环境,如空间JDK等,或者我得到了错误?

谢谢

这里的示例代码(作为java单元测试):

import static org.junit.Assert.assertNotNull;
import java.io.PrintWriter;
import java.util.Iterator;

import org.junit.Before;
import org.junit.Test;

import com.hp.hpl.jena.rdf.model.InfModel;
import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.ModelFactory;
import com.hp.hpl.jena.rdf.model.Property;
import com.hp.hpl.jena.rdf.model.Resource;
import com.hp.hpl.jena.rdf.model.Statement;
import com.hp.hpl.jena.rdf.model.StmtIterator;
import com.hp.hpl.jena.reasoner.Derivation;
import com.hp.hpl.jena.reasoner.rulesys.GenericRuleReasoner;
import com.hp.hpl.jena.reasoner.rulesys.Rule;
import com.hp.hpl.jena.vocabulary.RDFS;

public class ReasonerTest {

    String NS = "urn:x-hp-jena:eg/";

    // Build a trivial example data set
    Model model = ModelFactory.createDefaultModel();
    InfModel inf;

    Resource A = model.createResource(NS + "A");
    Resource B = model.createResource(NS + "B");
    Resource C = model.createResource(NS + "C"); …
Run Code Online (Sandbox Code Playgroud)

java rdf jena reasoning jena-rules

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