1

我想在 Allegrograph 中创建一个有推理的联合商店;我可以在同一个 Allegrograph 系统中使用 2 个存储库来做到这一点,但是当我尝试使用位于不同服务器上的两个存储库创建联合商店时;方法 server.federate 显示错误。

我尝试使用两种解决方案来解决这个问题:

第一个我使用 virtualRepository 来组合两个存储库,它可以工作,但是当我想从我的 virtualRepository 中获取连接时,它会显示以下错误:代码:

AGVirtualRepository s = server.virtualRepository("<http://ip:10035/repositories/repo1> + <http://ip:10036/repositories/repo2>");
      s.initialize();
      AGRepositoryConnection rainbowConn = s.getConnection();

      closeBeforeExit(rainbowConn);

错误 :org.eclipse.rdf4j.repository.RepositoryException: com.franz.agraph.http.exception.AGHttpException: org.apache.commons.httpclient.NoHttpResponseException: The server myserver failed to respond

第二个解决方案我使用Federation Sail 添加我的存储库,它可以工作,但是当我运行我的查询时,即使我调用推理概念也不起作用tupleQuery.setIncludeInferred(true);

编码 :

    AGServer server = new AGServer(SERVER_URL, USERNAME, PASSWORD);

    AGServer server2 = new AGServer(SERVER_URL2, USERNAME2, PASSWORD2);

    AGRepository repo1 = server.getCatalog(CATALOG_ID).openRepository("repo1");
    AGRepository repo2 = server2.getCatalog(CATALOG_ID).openRepository("repo2");

    Federation federation = new Federation();
    federation.addMember(repo1);
    federation.addMember(repo2);
    federation.setReadOnly(true); 
    SailRepository  combinedRepo = new SailRepository(federation);
    combinedRepo.initialize();

    SailRepositoryConnection gg =  combinedRepo.getConnection();

我不知道是否有任何提示可以解决我的问题,谢谢

4

1 回答 1

0

对我已经做过的工作进行推理SailRepository,也许你的查询有问题,你能告诉我你的查询并告诉我错误是什么

于 2018-05-02T15:55:57.470 回答