在具有数据属性限制的保护下创建个人
create individual in protege with dataproprety restriction
大家晚上好
我创建了一个简单的 ontology,只有一个 class(方法)并且具有数据属性 action_nb(整数)并且类型 是(字符串)并且只能是(选择, rank , sort ) 然后使用查询来搜索例如:
select 方法 WHERE 操作编号 <20 & 类型 = "选择"
如何在间隔中声明 action_nb ex: methode1 => action_nb between [10, 30].
如何用三个值声明类型 ex: methode1=> type:"choice";
这是我现在拥有的代码:
SELECT ?inst
WHERE {
?inst ex:action_nb ?value .
?inst es:type ?typ.
FILTER (?value < 80)
FILTER (?typ = " tri " )
}
对于1),可以使用数据类型属性限制,解释here
对于2),你应该使用owl:oneOf
。您可以使用枚举的 class 或枚举的数据类型:
枚举 类 只能在已声明的 RDF 资源列表(个人)中拥有成员。您可以为每个选择创建一个不同的个体,然后创建一个 class MethodType
与等效的 class 列表 {choice, rank, sort}
。请注意大括号是它在 Protégé 中的样子。在 Turtle 中它看起来像这样:
:MethodType
rdf:type owl:Class ;
owl:equivalentClass [
rdf:type owl:Class ;
owl:oneOf (
:choice
:rank
:sort
) ;
] ;
.
枚举数据类型 是由 RDF 文字列表组成的范围限制,在您的情况下 rdfs:range
将是 owl:oneOf {"choice", "rank", "sort"}
。 (注:1. 此处对花括号的注释很好;2.This 也可以通过 owl:allValuesFrom 限制来实现。)
如果 typeOP
和 typeDP
分别是第一种方法的对象 属性 和第二种方法的数据 属性 查询可以是:
SELECT *
WHERE {
?m a :Method;
:typeOP ?t .
FILTER EXISTS {?m :typeOP :choice}
}
和
SELECT *
WHERE {
?m a :Method;
:typeDP ?t .
FILTER EXISTS {?m :typeDP "choice"}
}
分别
大家晚上好 我创建了一个简单的 ontology,只有一个 class(方法)并且具有数据属性 action_nb(整数)并且类型 是(字符串)并且只能是(选择, rank , sort ) 然后使用查询来搜索例如: select 方法 WHERE 操作编号 <20 & 类型 = "选择"
如何在间隔中声明 action_nb ex: methode1 => action_nb between [10, 30].
如何用三个值声明类型 ex: methode1=> type:"choice";
这是我现在拥有的代码:
SELECT ?inst
WHERE {
?inst ex:action_nb ?value .
?inst es:type ?typ.
FILTER (?value < 80)
FILTER (?typ = " tri " )
}
对于1),可以使用数据类型属性限制,解释here
对于2),你应该使用owl:oneOf
。您可以使用枚举的 class 或枚举的数据类型:
枚举 类 只能在已声明的 RDF 资源列表(个人)中拥有成员。您可以为每个选择创建一个不同的个体,然后创建一个 class MethodType
与等效的 class 列表 {choice, rank, sort}
。请注意大括号是它在 Protégé 中的样子。在 Turtle 中它看起来像这样:
:MethodType
rdf:type owl:Class ;
owl:equivalentClass [
rdf:type owl:Class ;
owl:oneOf (
:choice
:rank
:sort
) ;
] ;
.
枚举数据类型 是由 RDF 文字列表组成的范围限制,在您的情况下 rdfs:range
将是 owl:oneOf {"choice", "rank", "sort"}
。 (注:1. 此处对花括号的注释很好;2.This 也可以通过 owl:allValuesFrom 限制来实现。)
如果 typeOP
和 typeDP
分别是第一种方法的对象 属性 和第二种方法的数据 属性 查询可以是:
SELECT *
WHERE {
?m a :Method;
:typeOP ?t .
FILTER EXISTS {?m :typeOP :choice}
}
和
SELECT *
WHERE {
?m a :Method;
:typeDP ?t .
FILTER EXISTS {?m :typeDP "choice"}
}
分别