Aklakan opened a new issue, #1801: URL: https://github.com/apache/jena/issues/1801
### Change NodeValue's `_setByValue` method only handles xsd datatypes however it eagely materializes the lexical form even of non-xsd namespace'd datatypes. This introduces a noticeable performance overhead (with my workload of many small json objects around 5-10%) when dealing with datatype extensions such as large geometries or json objects which are only used as intermediary values. NodeValue itself bears the following comment > 2. Conversely, delaying turning a value into a graph node is > valuable because intermediates, like the result of 2+3, will not > be needed as nodes unless assignment (and there is no assignment > in SPARQL even if there is for ARQ). > Node level operations like str() don't need a full node. The simple solution is to defer materialization of the lexical form after having ensured the given Node has a datatype in the xsd namespace. As a question, I wonder if it is really necessary for `_setByValue` to always go via the lexical form for all XSD types, or whether as a future improvement it would be possible to reuse the LiteralLabel's Java object. Profile without enhancement:  Profile with enhancement:  ### Are you interested in contributing a pull request for this task? Yes -- 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]
