Я хотел бы запросить экземпляр MonboDB через интерфейс запросов GraphDB SPARQL.
В настоящее время я использую бесплатный экземпляр GraphDB 8.9 и MongoDB 4.0.8 без пароля на портах по умолчанию и на одном хосте (ни один из портов не открыт для внешних пользователей). Я следовал инструкциям на http://graphdb.ontotext.com/documentation/free/integrating-graphdb-with-mongodb.html.
Это запрос из документации:
PREFIX cwork: <http://www.bbc.co.uk/ontologies/creativework/>
PREFIX inst: <http://www.ontotext.com/connectors/mongodb/instance#>
PREFIX : <http://www.ontotext.com/connectors/mongodb#>
SELECT ?creativeWork ?modified WHERE {
?search a inst:spb1000 ;
:find '{"@graph.cwork:audience.@id" : "cwork:NationalAudience"}' ;
:entity ?entity .
GRAPH inst:spb1000 {
?creativeWork cwork:dateModified ?modified .
}
}
Создание индекса, по-видимому, прошло успешно:
[INFO ] 2019-04-05 14:01:53,036 [repositories/playground-default | c.o.g.s.StatementsController] POST SPARQL update request to repository
[INFO ] 2019-04-05 14:01:53,044 [repositories/playground-default | c.o.p.mongodb] Creating a new service in MongoDB: spb1000
[INFO ] 2019-04-05 14:01:53,045 [repositories/playground-default | c.o.p.mongodb] Setting connectionString for MongoDB service spb1000
[INFO ] 2019-04-05 14:01:53,045 [repositories/playground-default | c.o.p.mongodb] Setting database for MongoDB service spb1000
[INFO ] 2019-04-05 14:01:53,045 [repositories/playground-default | c.o.p.mongodb] Setting collection for MongoDB service spb1000
Но тогда пример запроса из документации не сработал. GraphDB выводит 0 результатов, и на консоли отображаются следующие сообщения:
[INFO ] 2019-04-05 14:02:13,158 [repositories/playground-default | c.o.f.s.RepositoryController] POST query -563697573
[ERROR] 2019-04-05 14:02:13,160 [repositories/playground-default | c.o.p.mongodb] iter not created yet
[ERROR] 2019-04-05 14:02:13,160 [repositories/playground-default | c.o.p.mongodb] iter not created yet
[ERROR] 2019-04-05 14:02:13,161 [repositories/playground-default | c.o.t.q.OwlimEvaluationStrategyImpl] Couldn't convert the query to our optimized model. Using sesame's query model
java.lang.NullPointerException: null
[...]
Я должен получить более 10 результатов, но в настоящее время я ничего не получаю.
Похоже, что GraphDB не может сгенерировать запрос MongoDB.
Поскольку я использовал / скопировал запрос SPARQL из документации, это должно быть возможно.