I've enabled security.named.graphs=true for a database ng-test, and am trying to assign some user permissions, but when the named graph IRI has a hash symbol in it I get the following:
stardog-admin --server https://myHost user grant -u stardog-admin -a read -o named-graph:ng-test\\http://purl.org/net/grafli#tbox -- grafli-r-conradL
Invalid resource name
The command works fine when the graph IRI does not contain a hash.
com.complexible.stardog.protocols.http.client.BaseHttpClient$HttpClientException: invalid resource: 'http://purl.org/net/grafli#tbox'.
at com.complexible.stardog.protocols.http.client.BaseHttpClient.checkResponseCode(BaseHttpClient.java:537)
at com.complexible.stardog.protocols.http.client.BaseHttpClient.execute(BaseHttpClient.java:363)
at com.complexible.stardog.protocols.http.client.BaseHttpClient.executeHttpPut(BaseHttpClient.java:635)
at com.complexible.stardog.protocols.http.client.HttpAdminClientImpl.addRolePerm(HttpAdminClientImpl.java:160)
at com.complexible.stardog.security.NamedGraphPermissions.modifyPermissions(NamedGraphPermissions.java:125)
at com.complexible.stardog.security.NamedGraphPermissions.grantRole(NamedGraphPermissions.java:83)
at Main$$anon$1.<init>(setNgPerms.scala:18)
at Main$.main(setNgPerms.scala:1)
at Main.main(setNgPerms.scala)
reading the stack trace, this is in the response from the client after it's executed the command, so it's server-side issue.