将 属性 的值限制为单个值?
Constrain value of property to a single value?
我想要一个日期 属性 可以有任何个人作为主题(即,对域没有限制),但只能有值 1(双精度)作为值.是否有适合此用例的限制?也许 exact 或 value?我正在使用 Protege。
您可以将 属性 的范围指定为枚举 class。在 Protege 中,您可以将其写为:
{ 1.0 }
结果ontology,在Turtle和RDF/XML中:
@prefix : <http://example.org/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
:p a owl:DatatypeProperty ;
rdfs:range [ a rdfs:Datatype ;
owl:oneOf [ a rdf:List ;
rdf:first 1.0 ;
rdf:rest ()
]
] .
: a owl:Ontology .
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://example.org/"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#">
<owl:Ontology rdf:about="http://example.org/"/>
<owl:DatatypeProperty rdf:about="http://example.org/p">
<rdfs:range>
<rdfs:Datatype>
<owl:oneOf>
<rdf:List>
<rdf:first rdf:datatype="http://www.w3.org/2001/XMLSchema#decimal"
>1.0</rdf:first>
<rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
</rdf:List>
</owl:oneOf>
</rdfs:Datatype>
</rdfs:range>
</owl:DatatypeProperty>
</rdf:RDF>
如果您希望数据类型为 xsd:double 而不是 xsd:decimal,您只需将范围指定为 {"1.0"^^double} 即可:
我想要一个日期 属性 可以有任何个人作为主题(即,对域没有限制),但只能有值 1(双精度)作为值.是否有适合此用例的限制?也许 exact 或 value?我正在使用 Protege。
您可以将 属性 的范围指定为枚举 class。在 Protege 中,您可以将其写为:
{ 1.0 }
结果ontology,在Turtle和RDF/XML中:
@prefix : <http://example.org/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
:p a owl:DatatypeProperty ;
rdfs:range [ a rdfs:Datatype ;
owl:oneOf [ a rdf:List ;
rdf:first 1.0 ;
rdf:rest ()
]
] .
: a owl:Ontology .
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://example.org/"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#">
<owl:Ontology rdf:about="http://example.org/"/>
<owl:DatatypeProperty rdf:about="http://example.org/p">
<rdfs:range>
<rdfs:Datatype>
<owl:oneOf>
<rdf:List>
<rdf:first rdf:datatype="http://www.w3.org/2001/XMLSchema#decimal"
>1.0</rdf:first>
<rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
</rdf:List>
</owl:oneOf>
</rdfs:Datatype>
</rdfs:range>
</owl:DatatypeProperty>
</rdf:RDF>
如果您希望数据类型为 xsd:double 而不是 xsd:decimal,您只需将范围指定为 {"1.0"^^double} 即可: