2015-08-08 19 views
5

In one of the samples for querying Wikidata, ho trovato la seguente query, che include p: P6/v: P6 nella riga dopo SELECT. Cosa significa?Che cosa significa slash in un percorso di proprietà SPARQL?

PREFIX wd: <http://www.wikidata.org/entity/> 
PREFIX wdt: <http://www.wikidata.org/prop/direct/> 
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 
PREFIX p: <http://www.wikidata.org/prop/> 
PREFIX v: <http://www.wikidata.org/prop/statement/> 

SELECT ?p ?w ?l ?wl WHERE { 
    wd:Q30 p:P6/v:P6 ?p .  #-- This line 
    ?p wdt:P26 ?w . 
    OPTIONAL { 
    ?p rdfs:label ?l filter (lang(?l) = "en") . 
    } 
    OPTIONAL { 
    ?w rdfs:label ?wl filter (lang(?wl) = "en"). 
    } 
} 
+0

Nota che in genere si dovrebbe usare langMatches ** ** per confrontare la lingua tag, non' = '.. Ad esempio ** langMatches (lang (? X), "en") **. –

risposta

13

E 'il SequencePath sapore di un SPARQL 1.1 property path.

wd:Q30 p:P6/v:P6 ?p . 

significa che v'è una tripla (wd:Q30, p:P6, ?x), e un'altra tripla (?x, v:P6, ?p), senza necessità di scrivere esplicito (o nome) il nodo intermedio ?x. In altre parole, si dice: "?p si possono trovare da a partire da wd:Q30, seguente p:P6, e quindi di proprietà v:P6

Problemi correlati