Ok, so apologies for kinda spamming the list with this. 1. Laura, I agree with the options you listed below. Although: - LOAD, in my experience, requires access to the file system where fuseki is running and I do not have that - SOH has that same requirement and also requires me to ssh into the machine, which I don't want to have to do programmatically - chunking is my likely work around although it is suboptimal (I serialize an RDFLib in memory graph)
2. After looking around and doing a bit of archaeology, https://jena.markmail.org/message/nmtny6wlnvzltws7?q=maxFormContentSize (At first seeing this I thought it used to be called 'Fuseky'! I can only recall Joseki) it seems that the principled approach is to run fuseki with a customised jetty configuration. http://jena.apache.org/documentation/fuseki2/data-access-control#jetty-configuration " Server command line: --jetty=jetty.xml." -> is wrong This: > fuseki-server --jetty-config=jetty.xml Worked for me. However, I do not know what to put in jetty.xml https://www.eclipse.org/jetty/documentation/current/setting-form-size.html I tried the following snippet but it broke <?xml version="1.0"?> <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_3.dtd"> <Configure id="Server" class="org.eclipse.jetty.server.Server"> <Call name="setAttribute"> <Arg>org.eclipse.jetty.server.Request.maxFormContentSize</Arg> <Arg><Property name="jetty.maxFormContentSize" default="1000000"/></Arg> </Call></Configure> [2019-08-06 17:07:48] Server ERROR SPARQLServer: Failed to configure server: 0 java.lang.ArrayIndexOutOfBoundsException: 0 at org.apache.jena.fuseki.cmd.JettyFusekiWebapp.configServer(JettyFusekiWebapp.java:297) at org.apache.jena.fuseki.cmd.JettyFusekiWebapp.buildServerWebapp(JettyFusekiWebapp.java:243) at org.apache.jena.fuseki.cmd.JettyFusekiWebapp.<init>(JettyFusekiWebapp.java:99) at org.apache.jena.fuseki.cmd.JettyFusekiWebapp.initializeServer(JettyFusekiWebapp.java:94) at org.apache.jena.fuseki.cmd.FusekiCmd.runFuseki(FusekiCmd.java:371) at org.apache.jena.fuseki.cmd.FusekiCmd$FusekiCmdInner.exec(FusekiCmd.java:356) at jena.cmd.CmdMain.mainMethod(CmdMain.java:93) at jena.cmd.CmdMain.mainRun(CmdMain.java:58) at jena.cmd.CmdMain.mainRun(CmdMain.java:45) at org.apache.jena.fuseki.cmd.FusekiCmd$FusekiCmdInner.innerMain(FusekiCmd.java:104) at org.apache.jena.fuseki.cmd.FusekiCmd.main(FusekiCmd.java:67) So I suppose I need a complete jetty config file rather than a snippet (unless the above is erroneous anyway). I wasn't able to find the default jetty configuration file in the jars. I found this https://github.com/apache/jena/blob/master/jena-fuseki2/examples/fuseki-jetty-https.xml But it mentions needing configuring further things and I have no clue how to adapt it. Any pointer, walkthrough or further help most appreciated. With many thanks and kind regards, Pierre THIS E-MAIL MAY CONTAIN CONFIDENTIAL AND/OR PRIVILEGED INFORMATION. IF YOU ARE NOT THE INTENDED RECIPIENT (OR HAVE RECEIVED THIS E-MAIL IN ERROR) PLEASE NOTIFY THE SENDER IMMEDIATELY AND DESTROY THIS E-MAIL. ANY UNAUTHORISED COPYING, DISCLOSURE OR DISTRIBUTION OF THE MATERIAL IN THIS E-MAIL IS STRICTLY FORBIDDEN. IN ACCORDANCE WITH MIFID II RULES ON INDUCEMENTS, THE FIRM'S EMPLOYEES MAY ATTEND CORPORATE ACCESS EVENTS (DEFINED IN THE FCA HANDBOOK AS "THE SERVICE OF ARRANGING OR BRINGING ABOUT CONTACT BETWEEN AN INVESTMENT MANAGER AND AN ISSUER OR POTENTIAL ISSUER"). DURING SUCH MEETINGS, THE FIRM'S EMPLOYEES MAY ON NO ACCOUNT BE IN RECEIPT OF INSIDE INFORMATION (AS DESCRIBED IN ARTICLE 7 OF THE MARKET ABUSE REGULATION (EU) NO 596/2014). (https://www.handbook.fca.org.uk/handbook/glossary/G3532m.html) COMPANIES WHO DISCLOSE INSIDE INFORMATION ARE IN BREACH OF REGULATION AND MUST IMMEDIATELY AND CLEARLY NOTIFY ALL ATTENDEES. FOR INFORMATION ON THE FIRM'S POLICY IN RELATION TO ITS PARTICIPATION IN MARKET SOUNDINGS, PLEASE SEE https://www.horizon-asset.co.uk/market-soundings/. HORIZON ASSET LLP IS AUTHORISED AND REGULATED BY THE FINANCIAL CONDUCT AUTHORITY. From: Laura Morales [mailto:laure...@mail.com] Sent: 06 August 2019 12:25 To: users@jena.apache.org Cc: 'users@jena.apache.org' Subject: Re: Sensible size limit for SPARQL update payload to Fuseki2? Your best option is to look at the Fuseki logs for the exact error. I've personally never POSTed so much data to Fuseki, but I feel like it should not be be a problem unless something is timing out the connection, or truncating the POST data, or your triples contain syntax errors. Another option is to try the LOAD operation (https://www.w3.org/TR/sparql11-update/#load), or the SOH command line tools (https://jena.apache.org/documentation/fuseki2/soh.html). What I would do, personally speaking, is find a way to chunk your data and send multiple requests (even if, as I said, 85MB should work. It's not a huge file after all). > Sent: Tuesday, August 06, 2019 at 12:39 PM > From: "Pierre Grenon" <pgre...@horizon-asset.co.uk> > To: "'users@jena.apache.org'" <users@jena.apache.org> > Subject: RE: RE: Sensible size limit for SPARQL update payload to Fuseki2? > > > Can you share your query? > > Afraid I can't > > It looks like : > > <PREFIX> > > INSERT DATA { > > <9000K triples> > > } > > > I don't understand if you're trying to insert a single literal string that > > is 85MB in size, or if you're trying to load 900K triples that are 85MB in > > total. > > Second one. I'm not trying to load a single triple with a 85Mb object literal > but I am trying to perform a single INSERT operation of 900k triples. > > Many thanks, > Pierre