Wygląda na to, że nie grokuję zapytań SPARQL DESCRIBE. Muszę pobrać pełne wykresy zasobów pasujących do warunku. Z jednej końcowym SPARQL Próbowałem (norweski Rådata NA, http://data.bibsys.no/data/query_authority.html) to działa dobrze:Zapytanie SPARQL DESCRIBE query
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
DESCRIBE ?person WHERE {
?person rdf:type foaf:Person .
FILTER EXISTS { ?person owl:sameAs ?sameAs }
}
LIMIT 100
dostaję wynik z zasobów osób, które mają owl: sameAs trzyosobowych.
Na innych punktów końcowych sparql, Onki Light (http://sparql.onki.fi/sparql.tpl) i dbpedia (http://dbpedia.org/sparql) podobne zapytanie
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
DESCRIBE ?x WHERE {
?x rdf:type skos:Concept .
FILTER EXISTS { ?x skos:prefLabel ?prefLabel }
}
LIMIT 100
zwraca wiele zasobów, które nie mają ani RDF: type = SKOS: Pojęcie ani SKOS: prefLabel, więc Oczywiście nie wykonuję poprawnie zapytania. W jaki sposób należy podać takie zapytanie, aby uzyskać wynik, którego potrzebuję?
Dzięki! Próbowałem DESCRIBE i otrzymałem oczekiwany zasób i wiązkę powiązanych zasobów, tak jak piszesz. SELECT lub CONSTRUCT nie są opłacalnymi opcjami w danym przypadku, ponieważ nie znam faktycznej struktury danych. Ale wiedząc, jakie są "dodatkowe" zasoby, mogę po prostu zignorować je podczas przetwarzania wyniku. –