OWL限制 - 定义仅包含具有特定属性值的属性的类

问题描述:

我目前正在玩OWL,特别是有限制。我试图创建一个查询,执行以下操作:OWL限制 - 定义仅包含具有特定属性值的属性的类

假设我有一个类'Cinema',它具有属性'movies'(包含'Movie'类型的对象)。类'Movie'包含一个名为'genre'的属性。现在我想要创建一个只有电影类型为“动作”的类ActionCinemas。

我真的不知道如何做到这一点。我正在考虑用交叉点或基数做一些事情,但我不确定这一点。

有人能帮我一下吗?

都需要这样的一个个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) 
+0

你为何用结合('that')而不是曼彻斯特OWL语法中'Cinema'和'hasMovie'之间的逗号? – whirlwin

+0

@whirlwin都说基本上是一样的东西,所以这是一个品味的问题,我只是认为第一个(使用'那个')更清晰简洁。 –