[英]How to use SPARQL to CONSTRUCT owl:Restriction
我正在嘗試對我的本體中的某些實例創建 OWL 限制。 這些實例通過rdf:type
關系關聯到類,而它們應該是某種貓頭鷹限制。 為了解決這個問題,我創建了一個CONSTRUCT
語句:
PREFIX myontology:<http://myontology.org/myonto/>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
CONSTRUCT {
?entity rdf:type ?owlRestriction .
?owlRestriction a owl:Restriction .
?owlRestriction owl:onProperty myontology:someRelation .
?owlRestriction owl:someValuesFrom ?someClass .
}
WHERE {
?owlRestriction a owl:Restriction .
?entity a ?class .
?class rdfs:subClassOf* myontology:someSuperClass .
}
但是,當我運行它時,創建的限制包括myontology:someSuperClass
下的每個子類。 我如何更改上述查詢,以便只有通過rdf:type
與我的實例直接相關的類才能更改為限制?
謝謝您的幫助!
此CONSTRUCT
查詢適當地創建了owl:Restriction
關系:
PREFIX myontology:<http://myontology.org/myonto/>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
CONSTRUCT {
?entity a [rdf:type owl:Restriction ;
owl:onProperties myontology:myrelation;
owl:someValuesFrom ?class] .
}
WHERE {
?entity a ?class .
?class rdfs:subClassOf* myontology:someSuperClass .
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.