【问题标题】:OWL restrictions - defining classes that only contains properties with a specific property valueOWL 限制 - 定义仅包含具有特定属性值的属性的类
【发布时间】:2012-10-18 03:08:37
【问题描述】:

我目前正在玩 OWL,尤其是在限制条件下。我正在尝试创建一个执行以下操作的查询:

假设我有一个“电影”类,它有一个属性“电影”(包含“电影”类型的对象)。 “电影”类包含一个名为“流派”的属性。现在我想创建一个 ActionCinemas 类,它只包含类型为“动作”的电影。

我真的不知道该怎么做。我正在考虑用交叉点或基数做一些事情,但我不确定。

谁能帮我解决这个问题?

【问题讨论】:

    标签: rdf owl restriction restrictions


    【解决方案1】:

    你需要一个 allValuesFrom 限制和一个 hasValue 限制的组合,例如:

    海龟语法:

     my:ActionCinema a owl:Class ;
          rdfs:subClassOf my:Cinema,
                          [ a owl:Restriction; 
                            owl:onProperty my:hasMovie ;
                            owl:allValuesFrom [ a owl:Restriction ; 
                                                owl:onProperty my:hasGenre ;
                                                owl:hasValue my:Action ]
                          ] .
    

    曼彻斯特 OWL 语法:

    Class: ActionCinema
       SubClassOf: Cinema that hasMovie only ( hasGenre value Action )
    

    【讨论】:

    • 为什么在曼彻斯特 OWL 语法中使用连词 (that) 而不是 CinemahasMovie 之间的逗号?
    • @whirlwin 两者说的基本相同,所以这是一个口味问题,我只是认为第一个(使用'that')更清晰简洁。
    猜你喜欢
    • 1970-01-01
    • 2021-05-19
    • 2014-12-26
    • 2014-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多