Я пытаюсь проверить различные контексты, примененные к файлу json. Я создал очень простой файл контекста (с именем mycontext.json
) на моем локальном компьютере (MacPro 2019) с содержанием:
{ "name": "http://example.com#name", "age": "http://example.com#age"}
Далее я запускаю локальный веб-сервер на своем компьютере, используя jekyll serve
, Я могу проверить, что мой файл доступен в веб-браузере, перейдя к http://127.0.0.1:4000/mycontext.json
или используя библиотеку python requests
: requests.get("http://127.0.0.1:4000/mycontext.json").text
.
Каждый тест работает нормально, поскольку он возвращает контекст mycontext.json
,
Файл json (с именем test-data.json
) ссылается на json -ld контекст. Его содержимое:
{
"@context": "http://127.0.0.1:4000/mycontext.json",
"name:": "Bill",
"age": "48"
}
Однако, когда я анализирую это в rdflb
, я получаю ошибку INVALID_REMOTE_CONTEXT
.
То есть g.parse("test-data.json", format="json-ld")
выдает ошибку:
:
:
~/opt/anaconda3/lib/python3.7/site-packages/rdflib_jsonld/context.py in _prep_sources(self, base, inputs, sources, referenced_contexts, in_source_url)
205 source = source_to_json(source_url)
206 if CONTEXT not in source:
--> 207 raise errors.INVALID_REMOTE_CONTEXT
208 else:
209 source_url = in_source_url
JSONLDException: invalid remote context
Есть много сообщений об ошибках по этому поводу, но это кажется наиболее актуальным.
Я попытался инициализировать график, используя Graph()
и ConjunctiveGraph()
. Тот же результат для каждого.
Я также пытался: * поместить файл контекста в его собственную директорию и вызывать с помощью: "@context": "http://127.0.0.1:4000/context/
*, давая контексту не json расширение, и вызывать с: "@context": "http://127.0.0.1:4000/context/c1"
Я действительно очень озадачен :(
Я понял, что могу программно анализировать / объединять файлы контекста и данных в один файл. Но наша цель - создать файлы контекста локально и протестируйте их в файлах json. Если мы удовлетворены, мы можем затем развернуть файлы контекста на веб-сервере publi c без развертывания данных.
Я также опубликовал проблемы на rdflib-jsonld gihub: https://github.com/RDFLib/rdflib-jsonld/issues/80