È possibile utilizzare una query come la seguente di chiedere per le classi di cui Stephen King è un'istanza che non ha sottoclassi di cui Stephen King è anche un'istanza. Questo sembra allinearsi bene con l'idea di "classi più specifiche". Tuttavia, dal momento che (per quanto ne so) non c'è alcun motivo collegato all'endpoint di DBpedia SPARQL, potrebbero esserci relazioni sottoclasse che potrebbero essere dedotte ma che non sono esplicitamente presente nei dati.
select distinct ?type where {
dbpedia:Stephen_King a ?type .
filter not exists {
?subtype ^a dbpedia:Stephen_King ;
rdfs:subClassOf ?type .
}
}
SPARQL results
In realtà, dal momento che ogni classe è un rdfs:subClassOf
sé, si potrebbe desiderare di aggiungere un'altra linea a tale query di escludere il caso in cui ?subtype
e ?type
sono gli stessi:
select distinct ?type where {
dbpedia:Stephen_King a ?type .
filter not exists {
?subtype ^a dbpedia:Stephen_King ;
rdfs:subClassOf ?type .
filter (?subtype != ?type)
}
}
SPARQL results
Se si desidera effettivamente una stringa di risultati l ike quella mostrata in queste diapositive, è possibile utilizzare values
per associare una variabile a dbpedia:Stephen_King
, e quindi utilizzare un po 'di raggruppamento e concatenazione di stringhe per ottenere qualcosa di più alla ricerca (o quasi):
select
(concat(?person, " =\n", group_concat(?type; separator=" AND\n")) as ?sentence)
where {
values ?person { dbpedia:Stephen_King }
?type ^a ?person .
filter not exists {
?subtype ^a ?person ;
rdfs:subClassOf ?type .
filter (?subtype != ?type)
}
}
group by ?person
SPARQL results
http://dbpedia.org/resource/Stephen_King =
http://dbpedia.org/class/yago/AuthorsOfBooksAboutWritingFiction AND
http://dbpedia.org/ontology/Writer AND
http://schema.org/Person AND
http://xmlns.com/foaf/0.1/Person AND
http://dbpedia.org/class/yago/AmericanSchoolteachers AND
http://dbpedia.org/class/yago/LivingPeople AND
http://dbpedia.org/class/yago/PeopleFromBangor,Maine AND
http://dbpedia.org/class/yago/PeopleFromPortland,Maine AND
http://dbpedia.org/class/yago/PeopleFromSarasota,Florida AND
http://dbpedia.org/class/yago/PeopleSelf-identifyingAsAlcoholics AND
http://umbel.org/umbel/rc/Artist AND
http://umbel.org/umbel/rc/Writer AND
http://dbpedia.org/class/yago/20th-centuryNovelists AND
http://dbpedia.org/class/yago/21st-centuryNovelists AND
http://dbpedia.org/class/yago/AmericanHorrorWriters AND
http://dbpedia.org/class/yago/AmericanNovelists AND
http://dbpedia.org/class/yago/AmericanShortStoryWriters AND
http://dbpedia.org/class/yago/CthulhuMythosWriters AND
http://dbpedia.org/class/yago/HorrorWriters AND
http://dbpedia.org/class/yago/WritersFromMaine AND
http://dbpedia.org/class/yago/PeopleFromDurham,Maine AND
http://dbpedia.org/class/yago/PeopleFromLisbon,Maine AND
http://dbpedia.org/class/yago/PostmodernWriters
fonte
2013-10-28 17:33:23