2010-05-18 6 views
0

J'ai un fichier rdf (fichier.trp) au format n-triples, où chaque ligne est un triple bien formé:SWI-Prolog: comment charger des triples rdf en utilisant la bibliothèque semweb/rdf_db?

"objet prédicat sujet."

J'ai essayé d'utiliser rdf_load dans semweb/rdf_db pour le charger en mémoire, mais j'ai échoué. Voici ce que j'ai essayé:

?- rdf_load('file.trp'). 

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

La trace montre que l'objectif échoue à:

rdf_db:rdf_load_stream/3 

qui appelle

rdf_load_db_/3 

qui est probablement définie dans une bibliothèque étrangère. Le manuel indique qu'il prend en charge xml et les triplets. Mais il ne charge que des fichiers rdf xml. Comment puis-je charger un tel fichier triple rdf?

Merci, Li

Répondre

1

Le manual suggère que le prédicat rdf_load/2 prend en charge soit la RDF/XML ou, il est 'charge rapide interne et le format cache', ce qui est probablement pas le format de n-triplets.

Tout d'abord, vous devez importer les éléments suivants pour utiliser ce prédicat de toute façon:

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

Deuxièmement, je pense que vous aurez besoin de convertir vos triplets en un format approprié qui est lisible par cette prédicat, comme RDF/XML, et utiliser l'appel comme ceci:

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

Vous pouvez utiliser ce online converter pour convertir entre n-triplets et le format RDF/XML (entre autres).

2

La bibliothèque (semweb/rdf_db) peut être étendue avec plusieurs plugins pour prendre en charge des entrées supplémentaires (URL, compressées, différents formats triples). Notamment:

  • bibliothèque de chargement (semweb/rdf_turtle) permet de lire .ttl (tortue)
  • bibliothèque de chargement (semweb/rdf_zlib_plugin) permet de traiter les fichiers .gz (compressé)
  • bibliothèque de chargement (semweb/rdf_http_plugin) le fait charger à partir des URL http: //
  • La bibliothèque de chargement (semweb/rdf_ntriples) charge le format ntriples (ceci est seulement fourni avec la dernière version de développement; 6.3.8).
Questions connexes