Не поэтому ли некоторые примеры файлов имеют простые идентификаторы, в то время как другие синтаксические анализаторы, такие как RDFlib, выдают исключение, если идентификатор не является допустимым IRI со схемой: раздел?
Нет. Пример файла, на который вы указываете, строго говоря, не является синтаксически правильным N-Triples. На самом деле это вовсе не N-Triples, а N-Quads - другой синтаксис формат. Но даже если бы это были N-тройки, было бы неправильно иметь ИРИ в таком виде.
В Рекомендации N-Triples говорится, что «IRI могут быть записаны только как абсолютные IRI» (см. раздел 2.2) - абсолютные IRI определяются синтаксически в RFC 3987. Это является нормативным, даже если само производство грамматики не требует этого.
Однако IRI, которые вы видите в этом файле примера, могут быть интерпретированы как относительные ссылки IRI, и некоторые синтаксические анализаторы N-Triples были несколько расширены, чтобы разрешить разыменование относительных IRI с использованием базового IRI. Вероятно, поэтому вы иногда видите такие синтаксически неправильные файлы N-Triples в дикой природе. Это нестандартное расширение формата.
Являются ли RDF-файлы с нелитералами, которые не являются действительными IRI, по-прежнему правильно сформированными, несмотря на терминологию, используемую в спецификации RDF?
Это зависит от формата синтаксиса, который вы используете. Корректность — это свойство документа с конкретным конкретным синтаксисом, поэтому правила для N-Triples отличаются от правил, скажем, для Turtle или RDF/XML.
Сам RDF в своем абстрактном синтаксисе требует, чтобы IRI соответствовали RFC3987 и были абсолютными, поэтому любой документ RDF, который при обработке создает неразрешенные относительные IRI или IRI, не соответствующие RFC, если, возможно, не является неправильно сформированным, безусловно, недействителен. .
Некоторые конкретные форматы синтаксиса (такие как RDF/XML, TriG, Turtle и т. д.) предоставляют различные механизмы сокращения для IRI (префиксные имена, относительные IRI + базовый IRI и т. д.). Однако, как мы видели выше, N-Triples не имеет такого встроенного механизма сокращений, поэтому любой IRI, который не является абсолютным, делает документ некорректным.
27.07.2016