Экранирование <в имени графа SPARQL

Я случайно создал график с именем, которое начинается с < и заканчивается >,

Если я попытаюсь очистить график с сервера Virtuoso с помощью -

clear graph <graph_name>

-- или же --

clear graph <<graph_name>>

-- или же --

clear graph <\<graph_name\>>

-- это не работает. Все они дают похожие ошибки:

*** Error 37000: [Virtuoso Driver][Virtuoso Server]SQ074: Line 1: SPARQL compiler, line 1: syntax error at '<' before '<graph_name>

1 ответ

Решение

< а также > недопустимы в URI, поэтому парсер будет расстроен, если его использовать напрямую.

CLEAR можно рассматривать как краткую форму DELETE, поэтому вы можете попробовать:

DELETE { GRAPH ?g { ?s ?p ?o } }
WHERE { GRAPH ?g { ?s ?p ?o } 
        FILTER (str(?g) = '<graph_name>')
      }
Другие вопросы по тегам