svandenhoek commented on issue #2062:
URL: https://github.com/apache/jena/issues/2062#issuecomment-1784975228

   My main point indeed is to not flag something as invalid if it might 
actually be in-spec, though I do agree that part about not-defined behaviour 
for undefined components is worrying indeed. An informational warning (or 
perhaps a command-line argument that allows toggling between "in-spec only vs 
strict validation") seems like a valid option.
   
   While it's a guess, perhaps other tools simply treat the fragment similarly 
to an IRI (so the fragment in 
`urn:uuid:0c93930e-709d-431b-add5-9fdca2a117da#something` and 
`http://www.w3.org/2000/01/rdf-schema#label` being treated the same) and 
therefore not causing any issues?
   
   Interesting observation regarding the rq-component indeed. It seems 
according to [RFC 8141 Section 
2.3.1](https://datatracker.ietf.org/doc/html/rfc8141#section-2.3.1) that the 
r-component is for now purely there to "reserves it for future use" (first 
paragraph page 13) and it "SHOULD NOT be used for URNs before their semantics 
have been standardized" (last paragraph of the section). So a warning (or even 
an error?) sounds valid for now as well until it is updated. Though ofcourse 
this gets a bit more complicated due to `?+` being valid inside the q-component.
   
   Looking at [RFC 8141 Section 
2.3.1](https://datatracker.ietf.org/doc/html/rfc8141#section-2.3.1), I'm not 
sure if `?+abc?=def` should be seen as a single r-component though (but I'll be 
honest that I have no clue regarding passing it to the resolver so you might be 
right regarding implementation):
   
   > The sequence "?+" introduces the r-component.  The r-component ends with a 
"?=" sequence (which begins a q-component) or a "#" character (number sign, 
which begins an f-component).
   
   Regarding the usage: We currently have some non-semantic data which we want 
to be able to query on linked data. Most of it can be converted properly to 
existing IRIs that represents this data (and are the parts relevant for 
federated querying). Some of the data which is purely relevant inside the 
project cannot be that easily converted, so within the current concept version 
a UUID is generated to represent the specific use-case and the fragments 
describe the parts they represent within that specific use-case. A bit similar 
to the anology in [RFC 8141 Section 
2.3.3](https://datatracker.ietf.org/doc/html/rfc8141#section-2.3.3):
   
   > Consider the hypothetical example of obtaining resources that are part of 
a larger entity (say, the chapters of a book).  Each part could be specified in 
the f-component
   
   P.S. This week might not be able to respond as much.


-- 
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