Как предполагает пользователь 205512, рекурсивное выполнение этого захвата невозможно, и, как они указывают, использование необязательных (ых) уровней для перехода на произвольные уровни в ваших данных, получение узлов не представляется возможным ни для чего, кроме баз данных нетривиального размера.
Сами Bnodes имеют локальную область видимости, к набору результатов или к файлу.Нет никакой гарантии, что BNode вы получите при разборе или из набора результатов - это тот же идентификатор, который используется в базе данных (хотя некоторые базы данных гарантируют это для результатов запроса).Кроме того, запрос типа "select? S where {? S? P _: bnodeid1}" такой же, как "select? Where {? S? P? O}" "- обратите внимание, что в этом случае bnode обрабатывается как переменная, а не как "вещь с идентификатором 'bnodeid1'". Эта особенность дизайна затрудняет запрос на bnodes, поэтому, если вы контролируете данные, я бы посоветовал не использовать их.Нетрудно сгенерировать имена для вещей, которые в противном случае были бы bnodes, и именованные ресурсы v. Bnodes не будут увеличивать накладные расходы во время запросов.
Это не поможет вам восстановить и получить данные, но для этого я нене рекомендую делать такие общие запросы;они плохо масштабируются и обычно возвращают больше, чем вы хотите или нуждаетесь.Я бы посоветовал вам делать более направленные запросы.Ваш исходный запрос на конструкцию будет опускать содержимое всей базы данных, как правило, это не то, что вам нужно
Наконец, описание может быть полезным, но стандартной реализации нет;спецификация SPARQL не определяет какого-либо конкретного поведения, поэтому то, что она возвращает, остается за поставщиком базы данных, и оно может быть другим.Это может сделать ваш код менее переносимым, если вы планируете использовать разные базы данных с вашим приложением.Если вы хотите, чтобы конкретное поведение не описывалось, лучше всего реализовать его самостоятельно.Выполнение чего-то вроде краткого ограниченного описания ресурса является простым фрагментом кода, хотя вы можете столкнуться с некоторыми головными болями вокруг Bnodes.