Hello everyone,
I want to load a hundred millions triple into TDB2-backend fuseki2 by Java API.
I used code below:

Model model = ModelFactory.createDefaultModel();
model.add(model.asStatement(triple));
RDFConnectionRemoteBuilder builder = RDFConnectionFuseki.create()
                    .destination(FusekiURL);
            RDFConnection conn = builder.build();
            conn.begin(ReadWrite.WRITE);
            try {
                conn.load(model);
                conn.commit();
            } finally {
                conn.end();
            }

The code is actually worked but performance is not ideal enough.

[2019-07-18 23:29:25] Fuseki     INFO  [46] POST 
http://192.168.204.244:2222/fuseki2?default
[2019-07-18 23:30:45] Fuseki     INFO  [15] Body: Content-Length=-1, 
Content-Type=application/rdf+thrift, Charset=null => RDF-THRIFT : Count=3257309 
Triples=3257309 Quads=0
[2019-07-18 23:31:12] Fuseki     INFO  [15] 200 OK (3,302.546 s)

Every 3 millions triples cost 3,302.546 seconds and there are totally 300 
millions triples in queue…(One in-mem Model is impossible to contain so much 
triples…)

Is there any better method to load them quicker?

Thanks!

Sent from Mail<https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10

Reply via email to