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)
你为何用结合('that')而不是曼彻斯特OWL语法中'Cinema'和'hasMovie'之间的逗号? – whirlwin
@whirlwin都说基本上是一样的东西,所以这是一个品味的问题,我只是认为第一个(使用'那个')更清晰简洁。 –