Hi,

While using Virtuoso v7.2.12 (built for GeoSPARQL support, as described in [readme](https://github.com/openlink/virtuoso-opensource/blob/develop/7/README.GeoSPARQL.md)) for GeoSPARQL operations involving a coordinate reference system transformation, I noticed the following:

Insert a `geo:Geometry` with a custom coordinate reference system, as described in [8.8.1.1 - Req 14](https://opengeospatial.github.io/ogc-geosparql/geosparql11/spec.html#geo:wktLiteral)
```sparql
PREFIX  geo: <http://www.opengis.net/ont/geosparql#>
PREFIX geof: <http://www.opengis.net/def/function/geosparql/>

INSERT DATA {
    GRAPH <http://g> {
        <http://a> a geo:Geometry ;
        geo:asWKT "<www.opengis.net/def/crs/EPSG/0/31370> POINT (155822.2 132723.18)"^^<http://www.opengis.net/ont/geosparql#wktLiteral> .
    }
}
```
Above query errors with `Virtuoso 42000 Error RDFGE: RDF box with a geometry RDF type and a non-geometry content`

Workaround for insertion:
```sparql
PREFIX geo: <http://www.opengis.net/ont/geosparql#>

INSERT {
    GRAPH <http://g> {
        <http://a> a geo:Geometry ;
            geo:asWKT ?fullwkt .
    }
}
WHERE {
        ?s ?p ?o .
        BIND("POINT (155822.2 132723.18)" AS ?wkts)
        BIND(CONCAT("<http://www.opengis.net/def/crs/EPSG/0/31370> ", ?wkts) AS ?wktcrs)
        BIND(STRDT(?wktcrs, geo:wktLiteral) as ?fullwkt)
}
```
  
Now, when querying for the inserted data requesting format `text/turtle` (used `bif:st_transform` since [`geof:transform`](https://opengeospatial.github.io/ogc-geosparql/geosparql11/spec.html#_function_geoftransform) doesn't seem supported just yet ):
```sparql
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX geof: <http://www.opengis.net/def/function/geosparql/>

CONSTRUCT { 
    <http://x> <http://y> ?origCrsWkt .
    <http://x> <http://y> ?wgs84Wkt .
    <http://x> <http://y> ?wgs84WktString .
}
WHERE {
    ?s a geo:Geometry ;
        geo:asWKT ?origCrsWkt .
    BIND(bif:st_transform (?origCrsWkt, 4326) AS ?wgs84Wkt)
    BIND(STR(?wgs84Wkt) as ?wgs84WktString)
}
```

We can see that the query works (including a correct crs-transform!)
However, when making the same query, but requesting format `application/json` instead, the produced json is invalid (notice the missing quotes):
```json
{
  "http://x" : { "http://y" : [ { "type" : "literal", "value" : POINT(4.4508225544308 50.505267305279) , "datatype" : "http://www.opengis.net/ont/geosparql#wktLiteral" } ,
      { "type" : "literal", "value" : "POINT(4.4508225544308 50.505267305279)" } ,
      { "type" : "literal", "value" : "SRID=31370;POINT(155822.2 132723.18)" , "datatype" : "http://www.openlinksw.com/schemas/virtrdf#Geometry" } ] }
}
```
`bif:st_transform` result breaks JSON result for `CONSTRUCT` query
This is a GitHub Issue
repo:virtuoso-opensource
owner:openlink
Title : `bif:st_transform` result breaks JSON result for `CONSTRUCT` query
Issue date:

--- start body ---
Hi,

While using Virtuoso v7.2.12 (built for GeoSPARQL support, as described in [readme](https://github.com/openlink/virtuoso-opensource/blob/develop/7/README.GeoSPARQL.md)) for GeoSPARQL operations involving a coordinate reference system transformation, I noticed the following:

Insert a `geo:Geometry` with a custom coordinate reference system, as described in [8.8.1.1 - Req 14](https://opengeospatial.github.io/ogc-geosparql/geosparql11/spec.html#geo:wktLiteral)
```sparql
PREFIX  geo: <http://www.opengis.net/ont/geosparql#>
PREFIX geof: <http://www.opengis.net/def/function/geosparql/>

INSERT DATA {
    GRAPH <http://g> {
        <http://a> a geo:Geometry ;
        geo:asWKT "<www.opengis.net/def/crs/EPSG/0/31370> POINT (155822.2 132723.18)"^^<http://www.opengis.net/ont/geosparql#wktLiteral> .
    }
}
```
Above query errors with `Virtuoso 42000 Error RDFGE: RDF box with a geometry RDF type and a non-geometry content`

Workaround for insertion:
```sparql
PREFIX geo: <http://www.opengis.net/ont/geosparql#>

INSERT {
    GRAPH <http://g> {
        <http://a> a geo:Geometry ;
            geo:asWKT ?fullwkt .
    }
}
WHERE {
        ?s ?p ?o .
        BIND("POINT (155822.2 132723.18)" AS ?wkts)
        BIND(CONCAT("<http://www.opengis.net/def/crs/EPSG/0/31370> ", ?wkts) AS ?wktcrs)
        BIND(STRDT(?wktcrs, geo:wktLiteral) as ?fullwkt)
}
```
  
Now, when querying for the inserted data requesting format `text/turtle` (used `bif:st_transform` since [`geof:transform`](https://opengeospatial.github.io/ogc-geosparql/geosparql11/spec.html#_function_geoftransform) doesn't seem supported just yet ):
```sparql
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX geof: <http://www.opengis.net/def/function/geosparql/>

CONSTRUCT { 
    <http://x> <http://y> ?origCrsWkt .
    <http://x> <http://y> ?wgs84Wkt .
    <http://x> <http://y> ?wgs84WktString .
}
WHERE {
    ?s a geo:Geometry ;
        geo:asWKT ?origCrsWkt .
    BIND(bif:st_transform (?origCrsWkt, 4326) AS ?wgs84Wkt)
    BIND(STR(?wgs84Wkt) as ?wgs84WktString)
}
```

We can see that the query works (including a correct crs-transform!)
However, when making the same query, but requesting format `application/json` instead, the produced json is invalid (notice the missing quotes):
```json
{
  "http://x" : { "http://y" : [ { "type" : "literal", "value" : POINT(4.4508225544308 50.505267305279) , "datatype" : "http://www.opengis.net/ont/geosparql#wktLiteral" } ,
      { "type" : "literal", "value" : "POINT(4.4508225544308 50.505267305279)" } ,
      { "type" : "literal", "value" : "SRID=31370;POINT(155822.2 132723.18)" , "datatype" : "http://www.openlinksw.com/schemas/virtrdf#Geometry" } ] }
}
```
--- end body ---

The issue describes a problem with the `bif:st_transform` function in Virtuoso v7.2.12, where the JSON output for a `CONSTRUCT` query is malformed due to missing quotes around literal values. This could lead to improper handling of the JSON response in applications that consume this data, potentially causing errors or unexpected behavior when processing the output.