Questo è probabilmente quasi la stessa quetion come: Filter by language only if the object is a literallingua filtro solo se il tipo è letterale
Il problema è che la risposta c'è non funziona nel mio caso.
ho questa query:
SELECT ?property ?value
WHERE { <http://dbpedia.org/resource/Facebook> ?property ?value
FILTER(STRSTARTS(STR(?property), "http://dbpedia.org/property") || STRSTARTS(STR(?property), "http://dbpedia.org/ontology"))}
Ci si potrebbe vedere un elenco di proprietà tra cui "rating di Alexa 2" e "astratto" in molte lingue.
Se poi provare la soluzione suggerita per la questione di cui sopra:
SELECT ?property ?value
WHERE { <http://dbpedia.org/resource/Facebook> ?property ?value
FILTER(STRSTARTS(STR(?property), "http://dbpedia.org/property") || STRSTARTS(STR(?property), "http://dbpedia.org/ontology"))
FILTER(!isLiteral(?value) || langMatches(lang(?value), "EN"))}
Ora si potrebbe vedere che solo la versione inglese di "astratto" è lì, ma "rating di Alexa 2" e molti altri valori non string sono spariti.
Chiunque sappia come ottenere tutte le proprietà come nella prima query e poi solo per i letterali filtra la lingua inglese?
Grazie! Al punto. –
Ottima risposta, chiara e comprensibile! – user2078148