SPARQL'de C sınıfının C ve alt sınıflarının (doğrudan veya dolaylı) tüm örneklerini almam gerekir.SPARQL: Belirli bir sınıfın alt sınıflarının tüm varlıklarını alın
ben bu şekilde C'nin tüm doğrudan alt sınıflarını alabilirsiniz:
SELECT ?entity
WHERE {
?subclass rdfs:subClassOf :C .
?entity rdf:type ?subclass .
}
Ama dolaylı bir alt sınıf örneklerini alamayan ve ben bildiği gibi C
herhangi örneği ne (Onları önceden hesapladım) tüm alt sınıflar (doğrudan ve dolaylı olarak C) ve dinamik bir sorgu oluşturabilirim, aşağıdaki gibi bir sorgu oluşturmak mümkün mü?
Herkese teşekkürler.
DÜZENLEME:
Sadece hatta zarif olmayan bir şekilde eğer, bunu çözdük. SPARQL 1.1 specification olurdu yapmak uygun yolu dayanarak
SELECT ?entity
WHERE {
?entity rdf:type ?type.
?type rdfs:subClassOf* :C.
}
Üçlü depolamaya bağlı olarak, bu olabilir veya çalışmayabilir. Tüm üçlü mağazalarda özellik yolları ifadeleri kullanılmaz. –
Teşekkürler, işe yaradı! – auino
@msalvadores Bir güncelleme olarak, hala eski üçlü depolar olsa da, özellik yolları SPARQL 1.1'e dönüştü, böylece geçerli standardı destekleyen üçlü depolar özellik yollarını destekleyecektir. –