ПРИМЕЧАНИЕ. @base
предоставляет префикс для относительных IRI с использованием <...>
. Итак, в приведенном ниже примере <Entity>
заменяется на <http://my-url.com/ontologies/0.1/entity#Entity>
.
Откуда у вас эта идея? Это не тот случай. @base
не является префиксом между <
и >
. @base
определяет базовый IRI, по которому разрешаются относительные IRI. Разрешение относительных IRI сложнее, чем объединение двух строк.
Во-первых, базовый IRI обязательно удаляется из завершающего #
и любого идентификатора фрагмента. Итак, если вы напишете:
@base <http://my-url.com/ontologies/0.1/entity#> .
<> a owl:Ontology .
ты имеешь в виду:
<http://my-url.com/ontologies/0.1/entity> a owl:Ontology .
вам нужно будет явно добавить #
, чтобы он был в IRI:
@base <http://my-url.com/ontologies/0.1/entity#> .
<#> a owl:Ontology .
средства:
<http://my-url.com/ontologies/0.1/entity#> a owl:Ontology .
Если вы хотите добавить непустой идентификатор фрагмента, вам также понадобится #
:
@base <http://my-url.com/ontologies/0.1/entity#> .
<#Entity> a owl:Ontology .
средства:
<http://my-url.com/ontologies/0.1/entity#Entity> a owl:Ontology .
Во-вторых, если вы используете непустую строку между <
и >
, и это не идентификатор фрагмента, тогда IRI создается путем избавления от локальной части базы, которая появляется после последнего /
пути. ИРИ. Например.,
@base <http://my-url.com/ontologies/0.1/entity#> .
<Entity> a owl:Ontology .
средства:
<http://my-url.com/ontologies/0.1/Entity> a owl:Ontology .
Другой пример:
@base <http://my-url.com/something/?uri=http://example.com/anything> .
<Entity> a owl:Ontology .
средства:
<http://my-url.com/something/Entity> a owl:Ontology .
Собственно говоря, это не прямой ответ на ваш вопрос (вопросы), но его должно быть достаточно, чтобы вы могли принять правильное решение.
person
Antoine Zimmermann
schedule
04.11.2019
<> a owl:Ontology .
должен работать, но: a owl:Ontology .
нет - person UninformedUser   schedule 04.11.2019