Conversation
|
Regarding your point 1, I understand your concern. Personally, I'm not that bothered by the current wording, but I'll try to update the wording to explicitly mention the bnode token substrings. For point 2:
Wouldn't any system be able to know this by inspection (either directly to a value, or by using the lexical-to-value mapping)? This part of the process seems trivial to me (unless I'm missing something?) due to the lexical-to-value requirements, which is what caused us to have to define these import/export requirements in the first place. Before the export rewriting, a lexical form |
Okay, thanks.
You are right. I was not taking into account that the CDT literals that have been loaded into a system have been subject to the bnode-identifier rewriting as per the import requirements in the previous section. |
|
What do you think about this as new text for the third bullet point in the exporting requirements?
|
Sounds good. I have copied this text directly into this PR (see commit 8f266ae). Thereafter, I have changed the whole paragraph of the export requirements a bit to be better aligned with the writing style used for the import requirements; see commit b2e1420 for these extra changes. Please check whether the whole part of the bullet points for the export requirements is still consistent with your intuition. |
|
Text as of b2e1420 looks good. |
|
I don't want this to turn into a permanently ongoing issue, but I have one more concern about the current text. The opening text now says:
Is that wording too vague about how a substring might match that production? I'm thinking in particular about substrings that might appear in a literal member of a list or map like On the other hand, if you ignore the internal textual content of |
Good point! How's about the following? "Conforming implementations MUST process cdt:List literals and cdt:Map literals during export as follows. In the lexical form of these literals, every substring bnl that would match the BLANK_NODE_LABEL production when parsing the whole lexical form MUST be replaced by a string bnl' such that ..."
Oh boy! Yes, nested CDT literals are another complication :-( Good observation!
That's an idea. I am just worried that it becomes a little complicated to write this in an understandable way. Another option may be to simply add the following parenthesis to the second of the bullet points below the opening text (the bullet point about all occurrences of bnl being replaced with the same bnl' value): "(this applies recursively also to cdt:List and cdt:Map literals contained as elements within the term list or term map of other such literals)" What do you think of this option? By the way, both of these issues that you point out here apply to the import requirements as well. |
|
Your proposed text regarding the parsing of bnl looks good. I agree that your suggested parenthetical is a much better way to address the second issue. |
|
Thanks for confirming! I have implemented both of the proposed changes (and both for import and export)---see commit 2946b91 With this, I think this PR is ready to be merged. Let me know whether you agree or want to add something else. If you agree, I will merge and then publish the current state as a new version. |
This PR adds the export requirements that we started working on in PR #2
The initial version of this PR is simply a copy of the text that we already had in PR #2. Primarily, there are still the following two points that still need to be resolved.
_:id" in the lexical form of some cdt:List or cdt:Map literal to be exported, but this bullet point does not talk at all about this substring / about id.