gpt4 book ai didi

xsd - 文字的 xsd 数据类型有子类吗?

转载 作者:行者123 更新时间:2023-12-04 06:24:54 25 4
gpt4 key购买 nike

我正在尝试在任何推理系统或三重存储提供的加载时验证之外设置一些轻量级的按需数据验证。我正在使用 GraphDB 8.3。

假设我使用生物医学研究本体论 (OBI) 加载以下三元组,http://purl.obolibrary.org/obo/obi.owl :

PREFIX : <http://example.com/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
insert data {
graph :data
{
:measurement1 a <http://purl.obolibrary.org/obo/IAO_0000032> ;
<http://purl.obolibrary.org/obo/IAO_0000004> "100.1"^^xsd:double .
:measurement2 a <http://purl.obolibrary.org/obo/IAO_0000032> ;
<http://purl.obolibrary.org/obo/IAO_0000004> "100"^^xsd:int .
}
}

也就是说 :measurement1:measurement2有测量值。 <http://purl.obolibrary.org/obo/IAO_0000004>的范围是xsd:double .我知道我可以使用类似下面的查询来检查与指定范围不完全相同的数据类型。

正如您在我的查询中嵌入的评论中看到的那样,我想说 :measurement2 "100"^^xsd:int 的值是可以接受的,因为所有整数都包含在 double float 集合中。 (对吗?)

是否有一个现存的本体表明 xsd:intxsd:double 的子项?

PREFIX : <http://example.com/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX obo: <http://purl.obolibrary.org/obo/>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
# loaded obi into http://example.com/ontology
select distinct ?stype ?p ?ptype ?propdom ?proprange ?otype ?odatatype where {
{
graph :data
{
?s ?p ?o .
bind (datatype(?o) as ?odatatype)
}
optional {
graph <http://example.com/ontology> {
values ?ptype {
owl:ObjectProperty owl:DatatypeProperty
}
?p a ?ptype
}
}
optional {
?o a ?otype
}
optional {
?s a ?stype
}
optional {
{
graph <http://example.com/ontology> {
?p rdfs:domain ?propdom
}
}
}
optional {
{
graph <http://example.com/ontology> {
?p rdfs:range ?proprange
}
}
}
}
minus
{
?s rdf:type ?o
}
# minus
# {
# ?odatatype rdfs:subClassOf+ ?proprange
# }
filter ( ?odatatype != ?proprange )
}

最佳答案

XSD 数据类型没有子类。有派生类型:xsd:intxsd:integer的派生类型;它是 XSD 定义的功能。

xsd:int 不是 xsd:double 的派生类型。

数据类型中重要的是值:"100"^^xsd:int"100"^^xsd:double 是相同的值。 SHACL 可以表达这一点。

参见 https://www.w3.org/TR/xpath-datamodel-3/#types-hierarchy 中的“原子类型”

关于xsd - 文字的 xsd 数据类型有子类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46368881/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com