【问题标题】:OWL, define class by data propertyOWL,通过数据属性定义类
【发布时间】:2015-02-24 15:22:58
【问题描述】:

为了我大学的学习目的,我正在学习 OWL。我正在尝试根据子类的必要和充分条件对个人进行自动分类。

现在,我有一个类智能手机,它有一个单独的“x”,它有一个数据属性“hasCores”“4 个整数”。

现在我尝试将其自动归类为“快速智能手机”。我尝试通过将新类“快速智能手机”作为“智能手机”的子类来做到这一点。例如(相当于(智能手机和(hasCores min 2 integer))。

但这并没有查看数据属性值,在本例中为 4,但它查看的是个人拥有的“hasCores”属性的数量。因此,如果我将 2 个 hasCore 属性添加到个人中,它会起作用。但我只想要 1 个 hasCore 属性,并让推理者查看 hasCore 属性的值。这可能吗?

提前致谢。

【问题讨论】:

    标签: rdf owl rdfs


    【解决方案1】:

    现在,我有一个班级智能手机,它有一个单独的“x”,它有 数据属性“hasCores”“4 个整数”。

    我希望你是真的意思

    :x :hasCores "4"^^xsd:integer
    

    其中值是具有 datatype xsd:integer 的数据类型文字。

    您实际上想要的是数据类型方面的推理。并非所有推理器都一定支持它,但它在 OWL 语言中得到支持。你基本上会使用类似的东西

    FastSmartphone equivalentClass 智能手机(hasCores only xsd:integer[>4]

    my answerEncoding mathematical properties in RDF 中有此类表达式的直接示例:

    现在,您可能希望推理进入两个方向。您可以做一种必要条件,这将使您进行一致性检查。

    FastSmartphone subclassOf hasCores only xsd:integer[>=4]

    这意味着,如果某个东西被断言为 FastSmartphone,那么无论它拥有多少个内核,该值都必须至少为四个。它仍然有可能没有这样的价值,如果你想防止这种情况,你可以做类似的事情

    智能手机 subClassOf hasCores min 1

    现在,如果您想这样说,例如,智能手机有五个内核,从而推断它是快速智能手机,您需要另一个方向:

    hasCores some xsd:integer[>=5] and Smartphone subClassOf FastSmartphone

    (您可能希望在那里,但没有声明内核数的智能手机也将是 FastSmartphones。)

    不过,实际上,如果您尝试将快速智能手机定义为至少具有四个内核的智能手机,您只需说:

    FastSmartphone equivalentClass 智能手机 and hasCores some xsd:integer[>=4]

    相关

    【讨论】:

      猜你喜欢
      • 2014-08-03
      • 2012-07-26
      • 2023-03-12
      • 2021-11-05
      • 1970-01-01
      • 2014-03-26
      • 2016-11-07
      • 1970-01-01
      • 2012-10-18
      相关资源
      最近更新 更多