afs commented on issue #4025:
URL: https://github.com/apache/jena/issues/4025#issuecomment-4845148998

   Not a complete question!
   
   ```
   15:26:26 WARN  JsonLdToRdf     :: Non well-formed subject 
[https://example.com/dir/filename with spaces] has been skipped.
   ```
   
   `JsonLdToRdf` is part of titanium-jsonld, which Jena uses for JSON-LD 
processing.
   
   It seems to be converting the `%20` while resolving the IRI. Absolute IRIs 
are not affected.
   
   Decoding happens in `java.net.URI.getPath`.
   
   (on the 1.7.0 release tag source code; code in the repo has been reshuffled).
   `UriResolver.resolveAsComponents(... , URI relative)` 
   `String componentPath = relative.getPath();`
   
   ```
       public String getPath() {
           String decoded = decodedPath;
           if ((decoded == null) && (path != null)) {
               decodedPath = decoded = decode(path);
           }
           return decoded;
       }
   ```
   
   Maybe as simple as using `relative.getRawPath()` but also it may have knock 
on effects for titanium-jsonld; it might be required by the JSON-LD spec.
   
   [RFC 3986 Percent-Encoding 
Normalization](https://datatracker.ietf.org/doc/html/rfc3986#section-6.2.2.2) 
isn't usually done until the application decides it is the right thing to do.
   
   There are other `URI.getRaw*`.
   
   cc @filip26


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to