Как перечислить награды лауреатов (даные по их ярлыку), для которых описание вклада (данное nobel: мотивация) содержит слово «человек» вместе со словом «мир» (т. Е. Оба слова должны быть там).
Я использую пространство имен bds: search из функцию полнотекстового поиска Blazegraph .После посещения этой ссылки я составил этот запрос Свободный текстовый поиск в sparql, когда у вас есть мультислово и символ scaping
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX bds: <http://www.bigdata.com/rdf/search#> PREFIX nobel: <http://data.nobelprize.org/terms/> SELECT ?awards ?description WHERE { ?entity rdfs:label ?awards . ?entity nobel:motivation ?description . FILTER ( bds:search ( ?description, '"human" AND "peace"' ) ) }
Этот запрос возвращает мне следующую ошибку при выполнении, показанную на рисунке. Error Image Как исправить этот запрос и получить желаемый результат?Вы можете взглянуть на спецификацию этого набора данных или загрузить дамп RDF набора данных
Используйте bds: поиск для поиска категории "человек". Затем примените фильтр и включите функцию для "мира".
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX bds: <http://www.bigdata.com/rdf/search#> PREFIX nobel: <http://data.nobelprize.org/terms/> PREFIX bif: <http://www.openlinksw.com/schemas/bif#> SELECT ?awards ?description WHERE { ?entity rdfs:label ?awards . ?entity nobel:motivation ?description . ?description bds:search "human" . FILTER (CONTAINS(?description, "peace")) }