Я загрузил большой набор данных RDF (Geonames dataset: 18GB) в таблицы PostgreSQL, используя rdflib_sqlalchemy.SQLAlchemy
.Как ускорить запрос SPARQL из Python RDFLib?
Я выполнил следующий простой запрос из сценария Python с поддержкой RDFLib. Мне потребовалось больше двух часов, чтобы дать мне результат. Есть ли способ сделать это быстрее, не вводя данные RDF в трипестор (например, Virtuoso)?
mystore = store.SQLAlchemy(configuration="postgresql://localhost:5873/postgres")
g = Graph(mystore, identifier="test")
results = g.query("""SELECT ?s ?p ?o WHERE {?s ?p ?o .} LIMIT 1""")
for row in results:
print row
Я работаю на вычислительном узле А кластера. Я попытался выполнить свой запрос с данными в памяти, например, следующим образом. Однако, все же, это медленно.
g = Graph()
g.parse('geonames.nt', format='nt')
results = g.query("""SELECT ?s ?p ?o WHERE {?s ?p ?o .} LIMIT 1""")
for row in results:
print row
Пожалуйста, дайте мне знать ваше мнение. Спасибо за помощь.
Данные такого размера лучше загружаются в хранилище RDF. –
какая версия rdflib это? также рассмотрите возможность открытия отчета об ошибке на странице https://github.com/RDFLib/rdflib-sqlalchemy/issues. –