Я работаю над проектом DBPedia, чтобы найти певиц, которые были бы активны в течение 1960-х (приблизительно).
К сожалению, когда я пытаюсь выбрать диапазон певцов, которые были активны с 1955 по 1972, я упускаю певцов, которые были активны до 1955 года (результаты сводят на нет некоторых певцов, например, Умм Кульсум, который был активен с 1925-1973).
Мой код указан ниже и показывает, где фильтр включает только артистов, которые были активны исключительно в этом диапазоне дат.Я хочу создать фильтр, который говорит: «Дайте мне всех певцов, которые были бы музыкально активны, в частности, в этом диапазоне дат, но также включали тех, кто мог быть активен с периода до и включая этой даты».спектр"?Я не хочу, чтобы те, которые были активны только до этого диапазона дат.
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbp: <http://dbpedia.org/resource/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX dbc: <http://dbpedia.org/resource/Category:>
SELECT distinct ?name ?person ?thumbnail ?birthDate ?active
where {
?person foaf:name ?name .
?person dct:subject ?subject.
?person dbo:birthDate ?birthDate.
OPTIONAL {?person dbo:thumbnail ?thumbnail}
OPTIONAL {?person dbo:activeYearsStartYear ?active}
{ ?person a dbo:MusicalArtist .
filter exists {?person
dct:subject/skos:broader*dbc:Female_singers_by_nationality}}
filter (?active > '1955-04-18T22:29:33.667Z'^^xsd:dateTime && ?active <
'1974-01-01T21:37:37.708Z'^^xsd:dateTime)} order by ?active