SWI-Prolog: как загрузить тройки rdf с помощью библиотеки semweb / rdf_db? - PullRequest
0 голосов
/ 18 мая 2010

У меня есть файл rdf (file.trp) в формате n-triples, где каждая строка представляет собой правильно сложенную тройку:

«объектный предикатный объект».

Я пытался использовать rdf_load в semweb / rdf_db, чтобы загрузить его в память, но не получилось. Вот что я попробовал:

?- rdf_load('file.trp').

?- rdf_load('file.trp', [format(triples)]).

Трассировка показывает, что цель терпит неудачу в:

rdf_db:rdf_load_stream/3

который звонит

rdf_load_db_/3

, который, вероятно, определен в чужой библиотеке.

в руководстве написано, что он поддерживает xml и тройки. Но он загружает только файлы rdf xml. Как я могу загрузить такой тройной rdf-файл?

Спасибо, Li

Ответы [ 2 ]

2 голосов
/ 17 января 2013

Библиотека (semweb / rdf_db) может быть расширена несколькими плагинами для поддержки дополнительных входные данные (URL-адреса, сжатые, различные тройные форматы). В частности:

  • Загрузка библиотеки (semweb / rdf_turtle) позволяет читать .ttl (Turtle)
  • Загрузка библиотеки (semweb / rdf_zlib_plugin) позволяет обрабатывать файлы .gz (сжатые)
  • Загрузка библиотеки (semweb / rdf_http_plugin) приводит к загрузке с http: // URLs
  • Загрузка библиотеки (semweb / rdf_ntriples) позволяет загружать формат ntriples (это предоставляется только в последней версии разработки; 6.3.8).
1 голос
/ 27 мая 2010

Руководство предполагает, что предикат rdf_load/2 поддерживает либо RDF / XML , либо внутреннюю быструю загрузку и формат кэша ', который, вероятно, не является форматом n-triples.

Во-первых, вам нужно будет импортировать следующее, чтобы использовать этот предикат в любом случае:

:- use_module(library(semweb/rdf_db)).

Во-вторых, я думаю, что вам нужно будет преобразовать ваши тройки в соответствующий формат, который может быть прочитан этим предикатом, например RDF / XML , и использовать вызов следующим образом:

 rdf_load('file.xml', [format(xml)]).

Вы можете использовать этот онлайн-конвертер для преобразования между n-тройками и форматом RDF / XML (среди прочих).

...