Można użyć kwerendy jak poniżej zapytać dla klas, których Stephen King jest instancją, która nie ma podklas, której przykładem jest również Stephen King. Wydaje się, że jest to zgodne z ideą "najbardziej specyficznych klas". Jednak, o ile wiem, nie ma żadnego uzasadnienia związanego z punktem końcowym DBpedia SPARQL, mogą istnieć relacje podklas, które można wywnioskować, ale które nie są jawnie obecny w danych.
select distinct ?type where {
dbpedia:Stephen_King a ?type .
filter not exists {
?subtype ^a dbpedia:Stephen_King ;
rdfs:subClassOf ?type .
}
}
SPARQL results
Faktycznie, ponieważ każda klasa jest sama rdfs:subClassOf
, warto dodać kolejną linię do tego zapytania, aby wykluczyć sytuację, w której ?subtype
i ?type
są takie same:
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
Jeśli naprawdę chcesz uzyskać wynik l ike ten pokazany w tych slajdach, można użyć values
powiązać zmienną dbpedia:Stephen_King
, a następnie korzystać z niektórych grupowania i ciąg konkatenacji dostać coś estetyzacja (rodzaj):
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