Java 使用来自不同服务器的存储库进行联合存储

Java 使用来自不同服务器的存储库进行联合存储,java,sesame,allegrograph,federated,Java,Sesame,Allegrograph,Federated,我想在AllegroGraph中为联邦存储创建一个抽象存储库 我可以连接到存储在不同服务器上的存储库。但是,当我尝试使用federate函数组合它们时,它会抛出一个错误,即在第二台服务器上找不到存储库 我在这个问题上也发现了同样的问题,但没有帮助。有什么提示吗 这是我的代码: AGServer server = new AGServer(SERVER_URL, USERNAME, PASSWORD); AGServer server2 = new AGServer(SERVER_URL2, US

我想在AllegroGraph中为联邦存储创建一个抽象存储库

我可以连接到存储在不同服务器上的存储库。但是,当我尝试使用federate函数组合它们时,它会抛出一个错误,即在第二台服务器上找不到存储库

我在这个问题上也发现了同样的问题,但没有帮助。有什么提示吗

这是我的代码:

AGServer server = new AGServer(SERVER_URL, USERNAME, PASSWORD);
AGServer server2 = new AGServer(SERVER_URL2, USERNAME2, PASSWORD2);
println("Available catalogs: " + server.listCatalogs());
AGRepositoryConnection custCon = server.createRepositoryConnection("repo1", CATALOG_ID, false);
AGRepositoryConnection supCon = server2.createRepositoryConnection("repo2", CATALOG_ID, false);
AGAbstractRepository rainbowRepo = server2.federate(custCon.getRepository(), supCon.getRepository());

rainbowRepo.initialize();
AGRepositoryConnection rainbowConn = rainbowRepo.getConnection();

SailRepository
类为联合上下文实现了
FederatedServiceResolverClient
,因此您可以使用类SailRepository添加具有不同存储库的联合存储:

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 rainbowRepo  = new SailRepository(federation);
rainbowRepo .initialize();

SailRepositoryConnection rainbowConn  =  rainbowRepo .getConnection(); //for querying and updating the contents of the repository.