我目前正在玩 OWL,尤其是有限制。我正在尝试创建一个执行以下操作的查询:
假设我有一个类“电影”,它有一个属性“电影”(包含“电影”类型的对象)。“电影”类包含一个名为“流派”的属性。现在我想创建一个类 ActionCinemas,它只包含类型为“动作”的电影。
我真的不知道该怎么做。我正在考虑用交叉点或基数做一些事情,但我不确定。
谁能帮我解决这个问题?
我目前正在玩 OWL,尤其是有限制。我正在尝试创建一个执行以下操作的查询:
假设我有一个类“电影”,它有一个属性“电影”(包含“电影”类型的对象)。“电影”类包含一个名为“流派”的属性。现在我想创建一个类 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 )