Thank, Andy.

Apologies for not including the Fuseki version.  I’m on 5.6.0

The full error I’m seeing is:

13:26:15 INFO  Config          :: Load configuration: 
file:////configuration/cors-config.ttl
13:26:15 ERROR Config          :: No services found

I’ll try upgrading to 6.1.0 or whatever is latest.

Do the CORS config details in cors-config.ttl look syntactically correct?

@prefix fuseki: <http://jena.apache.org/fuseki#> .

<#corsConfig> a fuseki:CORSConfiguration ;
    fuseki:allowedOrigin "https://example.cloudfront.net"; ;
    fuseki:allowedOrigin "http://example.elb.us-east-1.amazonaws.com"; ;
    fuseki:allowedMethod "GET" ;
    fuseki:allowedMethod "POST" ;
    fuseki:allowedHeader "Content-Type" ;
    fuseki:allowedHeader "Origin" ;
    fuseki:allowedHeader "X-Requested-With" ;
    fuseki:allowedHeader "Accept" ;
    fuseki:maxAge 3600 .

From: Andy Seaborne <[email protected]>
Date: Thursday, June 4, 2026 at 11:33 AM
To: [email protected] <[email protected]>
Subject: Re: Fuseki CORS configuration question

Hi Robert,

Which version are you running?

For me,
 > /fuseki-server --cors cors-config.ttl

works for 6.1.0, whereas 5.2.0 says:
"No dataset specified on the command line."

     Andy

On 04/06/2026 13:16, Chavez, Robert wrote:
> Greetings,
>
> I am wondering if anyone could point me to some CORS configuration examples 
> to configure CORS for a standalone Fuseki server run at the command line.
>
> I’ve searched high and low for some workable examples, but so far have not 
> found anything that works successfully, official documentation doesn’t have 
> much on the subject either.
>
> What I’ve managed to glean from available information so far is that I can 
> declare a CORS configuration file with appropriate allow rules, something 
> like:
>
> @prefix fuseki: 
> <https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fjena.apache.org%2Ffuseki%23&data=05%7C02%7Cr.chavez%40northeastern.edu%7C0f119315b205425565fd08dec24ea612%7Ca8eec281aaa34daeac9b9a398b9215e7%7C0%7C0%7C639161840226251794%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=4EC28ugyxcOivpFw87hdnmf5%2Fgzw7cDXlrr2N3CQ1yw%3D&reserved=0<http://jena.apache.org/fuseki#>>
>  .
>
> <#corsConfig> a fuseki:CORSConfiguration ;
>      fuseki:allowedOrigin 
> "https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fexample.cloudfront.net%2F&data=05%7C02%7Cr.chavez%40northeastern.edu%7C0f119315b205425565fd08dec24ea612%7Ca8eec281aaa34daeac9b9a398b9215e7%7C0%7C0%7C639161840226279930%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=cVud6Sok96UPYqVJZmGd8ifbcJGFdMajuocZK3mYjxQ%3D&reserved=0<https://example.cloudfront.net/>"
>  ;
>      fuseki:allowedMethod "GET" ;
>      fuseki:allowedMethod "POST" ;
>      fuseki:allowedHeader "Content-Type" ;
>      fuseki:allowedHeader "Origin" ;
>      fuseki:allowedHeader "X-Requested-With" ;
>      fuseki:allowedHeader "Accept" ;
>      fuseki:maxAge 3600 .
>
> And then call that config file from the command line when launching Fuseki 
> with:
>
> /fuseki-server --cors cors-config.ttl
>
> With this approach I was assuming that the CORS configuration would apply to 
> any endpoint declared in the main config (see below) with  
> fuseki:serviceQuery.  But, that does not seem to be the case.
>
> This results in a “No services found error"
>
> As a result, I am wondering if the CORS config needs to be integrated somehow 
> with the main config file.
>
> If this is the base configuration:
>
> PREFIX :       <http://base/#>
> PREFIX fuseki: 
> <https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fjena.apache.org%2Ffuseki%23&data=05%7C02%7Cr.chavez%40northeastern.edu%7C0f119315b205425565fd08dec24ea612%7Ca8eec281aaa34daeac9b9a398b9215e7%7C0%7C0%7C639161840226303180%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=KLFCDdwbwOVzZT2rfClczvkI2ypsuKclqC5LcsoFVks%3D&reserved=0<http://jena.apache.org/fuseki#>>
> PREFIX ja:     
> <https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fjena.hpl.hp.com%2F2005%2F11%2FAssembler%23&data=05%7C02%7Cr.chavez%40northeastern.edu%7C0f119315b205425565fd08dec24ea612%7Ca8eec281aaa34daeac9b9a398b9215e7%7C0%7C0%7C639161840226326276%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=%2BxtqwRswcT79nPkD%2Fe9iUHFYer%2Besheax%2F3UvNK0I6k%3D&reserved=0<http://jena.hpl.hp.com/2005/11/Assembler#>>
> PREFIX rdf:    
> <https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23&data=05%7C02%7Cr.chavez%40northeastern.edu%7C0f119315b205425565fd08dec24ea612%7Ca8eec281aaa34daeac9b9a398b9215e7%7C0%7C0%7C639161840226348965%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=Iep46PZWSK2qfymwzILlj%2F%2BCpqV7mNxMhJWpUwbNyx8%3D&reserved=0<http://www.w3.org/1999/02/22-rdf-syntax-ns#>>
> PREFIX rdfs:   
> <https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23&data=05%7C02%7Cr.chavez%40northeastern.edu%7C0f119315b205425565fd08dec24ea612%7Ca8eec281aaa34daeac9b9a398b9215e7%7C0%7C0%7C639161840226371875%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=GxSM9YIP9CYfLpMjYfGqN4dZiz9GMDhz2UkMfJyFlyo%3D&reserved=0<http://www.w3.org/2000/01/rdf-schema#>>
> PREFIX tdb2:   
> <https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fjena.apache.org%2F2016%2Ftdb%23&data=05%7C02%7Cr.chavez%40northeastern.edu%7C0f119315b205425565fd08dec24ea612%7Ca8eec281aaa34daeac9b9a398b9215e7%7C0%7C0%7C639161840226394516%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=5%2FQMyr4PZrYCfugoWVQWJEIg8d3R%2F%2FPP7Qi128NkRas%3D&reserved=0<http://jena.apache.org/2016/tdb#>>
> PREFIX schema: 
> <https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fschema.org%2F&data=05%7C02%7Cr.chavez%40northeastern.edu%7C0f119315b205425565fd08dec24ea612%7Ca8eec281aaa34daeac9b9a398b9215e7%7C0%7C0%7C639161840226419246%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=KjMFzUaYd6pTmkohsOrTtPlJy3YTRDox0PCQrV0TiyU%3D&reserved=0<https://schema.org/>>
> PREFIX text: 
> <https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fjena.apache.org%2Ftext%23&data=05%7C02%7Cr.chavez%40northeastern.edu%7C0f119315b205425565fd08dec24ea612%7Ca8eec281aaa34daeac9b9a398b9215e7%7C0%7C0%7C639161840226442169%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=ZT%2BGJAqrf8iwLpDsmMA1%2FrRZFCc6GEXBtX0h22%2F3vrg%3D&reserved=0<http://jena.apache.org/text#>>
>
> :service_tdb_all  rdf:type            fuseki:Service;
>          rdfs:label                    "TDB2 chd";
>          fuseki:dataset                :text_dataset;
>          fuseki:name                   "chd";
>          fuseki:serviceQuery           "query" , "sparql" , "";
>          fuseki:serviceReadGraphStore  "get";
>          fuseki:serviceReadWriteGraphStore
>                  "data";
>          fuseki:serviceUpdate          "" , "update";
>          fuseki:serviceUpload          "upload” .
>
> I’m unsure of how to incorporate the CORS configuration intros config, this 
> is where some examples would be helpful.
>
> Perhaps something like this for the “sparql” endpoint?
>
> PREFIX :       <http://base/#>
> PREFIX fuseki: 
> <https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fjena.apache.org%2Ffuseki%23&data=05%7C02%7Cr.chavez%40northeastern.edu%7C0f119315b205425565fd08dec24ea612%7Ca8eec281aaa34daeac9b9a398b9215e7%7C0%7C0%7C639161840226468493%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=%2BkYUEUL81dVUhuC5R36iErJcZQbq1hkQ35mgj0AdUTg%3D&reserved=0<http://jena.apache.org/fuseki#>>
> PREFIX ja:     
> <https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fjena.hpl.hp.com%2F2005%2F11%2FAssembler%23&data=05%7C02%7Cr.chavez%40northeastern.edu%7C0f119315b205425565fd08dec24ea612%7Ca8eec281aaa34daeac9b9a398b9215e7%7C0%7C0%7C639161840226497682%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=uHZE6tHECZDnX%2BK9gZb537G%2BBc3g%2BAa7psHtFbBhJ6U%3D&reserved=0<http://jena.hpl.hp.com/2005/11/Assembler#>>
> PREFIX rdf:    
> <https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23&data=05%7C02%7Cr.chavez%40northeastern.edu%7C0f119315b205425565fd08dec24ea612%7Ca8eec281aaa34daeac9b9a398b9215e7%7C0%7C0%7C639161840226527363%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=T1wdipvOvg%2FdysgA3BkIyWu%2B9q6UwRNaDkjcMBs46ZY%3D&reserved=0<http://www.w3.org/1999/02/22-rdf-syntax-ns#>>
> PREFIX rdfs:   
> <https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23&data=05%7C02%7Cr.chavez%40northeastern.edu%7C0f119315b205425565fd08dec24ea612%7Ca8eec281aaa34daeac9b9a398b9215e7%7C0%7C0%7C639161840226558729%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=OpQ%2FWIvveN45GTjJ0po%2Fch4a%2FUOuecZl2t45m%2BeXvG4%3D&reserved=0<http://www.w3.org/2000/01/rdf-schema#>>
> PREFIX tdb2:   
> <https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fjena.apache.org%2F2016%2Ftdb%23&data=05%7C02%7Cr.chavez%40northeastern.edu%7C0f119315b205425565fd08dec24ea612%7Ca8eec281aaa34daeac9b9a398b9215e7%7C0%7C0%7C639161840226591080%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=ikexljncMUAt7Pg1A6hHogLFgbeDUZv4Gn045rqcVZ0%3D&reserved=0<http://jena.apache.org/2016/tdb#>>
> PREFIX schema: 
> <https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fschema.org%2F&data=05%7C02%7Cr.chavez%40northeastern.edu%7C0f119315b205425565fd08dec24ea612%7Ca8eec281aaa34daeac9b9a398b9215e7%7C0%7C0%7C639161840226620560%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=%2BvUwpfRB23ovxHNWurW79kfoIdh%2BrHaecuPsqVVb7n0%3D&reserved=0<https://schema.org/>>
> PREFIX text: 
> <https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fjena.apache.org%2Ftext%23&data=05%7C02%7Cr.chavez%40northeastern.edu%7C0f119315b205425565fd08dec24ea612%7Ca8eec281aaa34daeac9b9a398b9215e7%7C0%7C0%7C639161840226648656%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=aGkBZ6IAr2Zz0r5Mwou1dPdbS2TvpY9r3f5DauJ12kE%3D&reserved=0<http://jena.apache.org/text#>>
>
> :service_tdb_all  rdf:type            fuseki:Service;
>          rdfs:label                    "TDB2 chd";
>          fuseki:dataset                :text_dataset;
>          fuseki:name                   "chd”;
>          fuseki:serviceQuery           "query" , "sparql" , "”;
>
>          ## SPARQL query services e.g. http://host:port/chd/sparql?query=
>
>     fuseki:endpoint [
>
>       fuseki:operation fuseki:query ;
>          fuseki:name "sparql";
>       fuseki:CORSConfiguration [
>              fuseki:allowOrigin 
> "https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fexample.cloudfront.net%2F&data=05%7C02%7Cr.chavez%40northeastern.edu%7C0f119315b205425565fd08dec24ea612%7Ca8eec281aaa34daeac9b9a398b9215e7%7C0%7C0%7C639161840226678810%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=O7S493HolBt5MVFShkDghAgyks6cnUDIhWlk6uNqa8s%3D&reserved=0<https://example.cloudfront.net/>"
>  ;
>              fuseki:allowMethods "GET, POST," ;
>                                fuseki:allowHeaders "Content-Type, 
> Authorization”  ;
>               fuseki:allowedHeader "Origin" ;
>                fuseki:allowedHeader "X-Requested-With" ;
>                 fuseki:allowedHeader "Accept" ;
>                fuseki:maxAge 3600 .
>        ]
>             ] ;
>
>
>          fuseki:serviceReadGraphStore  "get";
>          fuseki:serviceReadWriteGraphStore
>                  "data";
>          fuseki:serviceUpdate          "" , "update";
>          fuseki:serviceUpload          "upload” .
>
> The above is just a guess, so any guidance would be greatly appreciated.
>
> Thank you,
> Robert

Reply via email to