I had a similar issue that was resolved by collecting each of the related nodes in the return.
For example your query would be something like:
MATCH (v:Version)
OPTIONAL MATCH (v)-[is_version:IS_VERSION]->(artefact:Artefact)
RETURN v, collect(is_ver...