Using SPARQL 1.1 assignments.
Allows the creation of new values in a query.
Here is example showcasing Virtuoso's support for this functionality:
<#lemonade> <#price> 4 . <#wine> <#price> 6 . <#water> <#price> 1 . <#beer> <#price> 3 . <#liqueur> <#price> 5 .
INSERT { GRAPH <urn:sparql:tests:assign> { <#lemonade> <#price> 4 . <#wine> <#price> 6 . <#water> <#price> 1 . <#beer> <#price> 3 . <#liqueur> <#price> 5 . } }
SELECT ?item (?price*2.3 as ?NewPrice) FROM <urn:sparql:tests:assign> WHERE { ?item <#price> ?price }