-
Notifications
You must be signed in to change notification settings - Fork 64
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use local vocabulary for VALUES clause #822
Conversation
302bfab
to
0d66199
Compare
So far, a row of a VALUES clause was ignored when one of the values did not occur in the normal vocabulary and could not be folded into an ID (like an integer or a double). Now all rows are considered, and such OOV values are added to the local vocabulary. On the side, the SPARQL parser for the VALUES clause is modified so that it does not produce an `std::string` for each value, like it did so far, but a `TripleComponent`.
0d66199
to
14b279d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like your improvements very much.
I found some places next to the code you touch that you could improve along the way.
Most of it was not written by you, but I encourage everyone to also make the existing parts of the code better along the way (and so do you).
Refactoring the surrounding code was significantly more work than expected.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very nice,
I only have one comment (Answer to a TODO
) and two very minor suggestions in the parser.
Otherwise the code quality is now much much better, thank you.
Thanks a lot for this very productive review. I have addressed your final comments, will wait for all our seven build tests to go through without errors, and then merge this PR into the master. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
Feel free to merge it as soon as the tests have finished.
So far, a row of a VALUES clause was ignored when one of the values did not occur in the normal vocabulary and could not be folded into an ID (like an integer or a double). Now all rows are considered and such OOV values are added to the local vocabulary.
On the side, the SPARQL parser for the VALUES clause is modified so that it does not produce a
std::string
for each value like it did so far, but aTripleComponent
.