1
指定されたオントロジで、rdfs:rangeが定義されていないデータ型プロパティをSPARQLクエリでチェックする必要があります。たとえば、次のコードでは、私が探している結果はdataproperty2
になります。定義されたrdfs:rangeを持たないデータ型プロパティを取得する方法
ont:Class1 a owl:Class .
ont:Class2 a owl:Class .
ont:dataProperty1 a owl:DatatypeProperty ;
rdfs:domain ont:Class1 ;
rdfs:label "dataProperty1"@en ;
rdfs:range xsd:string .
ont:dataProperty2 a owl:DatatypeProperty ;
rdfs:domain ont:Class2 ;
rdfs:label "dataProperty2"@en .
は、私がこの条件と一致プロパティの数を取得し、このSPARQLクエリを定義していますが、集約機能、すなわち、COUNTであることから、私は、データ型のプロパティを取得するために問題を抱えている、数ではありませんrdfs:rangeが定義されていません。
SELECT ?return WHERE
{
{
SELECT (COUNT(?p) as ?pCount)
WHERE
{
?p rdf:type owl:DatatypeProperty .
?p rdfs:range ?range .
}
}
{
SELECT DISTINCT (COUNT(?p) as ?prop)
WHERE
{
?p rdf:type owl:DatatypeProperty .
}
}
BIND((?prop - ?pCount) as ?return)
}