GraphDB可以支持基于基数的推断吗?

时间:2018-02-28 11:31:38

标签: owl graphdb

我有一个简单的OWL本体,我已经加载到GraphDB仓库中(为清晰起见省略了标准前缀):

@prefix s: <urn:sample:> .

s:Fruit a owl:Class;
  owl:oneOf (s:Apple s:Banana s:Pear) .

[a owl:AllDifferent;
 owl:distinctMembers (s:Apple s:Banana s:Pear)] .

s:eats a owl:ObjectProperty .

s:Fruitivore owl:equivalentClass 
    [a owl:Restriction;
     owl:onProperty s:eats;
     owl:allValuesFrom s:Fruit].

s:Henry a s:Fruitivore .

s:LimitedDiet owl:equivalentClass 
    [a owl:Restriction;
     owl:onProperty s:eats;
     owl:maxCardinality 3].

我断言只有3种水果,亨利只是吃水果的人。

最后,我定义了一个吃不超过3种不同东西的人的类(LimitedDiet)。

如果我加载它,我会看到所有6个预期的owl:differentFrom推论(fruitA owl:differentFrom fruitB),只要我选择 owl-max 作为我的规则集。

但是,无论我为我的存储库选择哪种预先设置的规则集类型,我都不会看到Henry是属于类LimitedDiet的个人的推断。

考虑到可用的规则集,这是预期的吗?如果我想定义我自己的规则集可以支持这种类型的推理,那么任何人都可以指示我的指针可以帮助吗?

另外 - 我应该期望看到所有:在OWL-RL和OWL-QL以及OWL-MAX中推断出的不同断言?我以为它们都是后者的延伸。

非常感谢!

0 个答案:

没有答案