package org.aksw.jena_sparql_api.exprs_ext; import org.aksw.jena_sparql_api.views.OgcVocab; import org.apache.commons.lang.NotImplementedException; import org.apache.jena.datatypes.RDFDatatype; import org.apache.jena.datatypes.TypeMapper; import org.apache.jena.graph.Node; import org.apache.jena.graph.NodeFactory; import org.apache.jena.sparql.expr.NodeValue; import org.apache.jena.sparql.expr.nodevalue.NodeValueVisitor; import org.postgis.Geometry; import org.postgis.PGgeometry; public class NodeValueGeom extends NodeValue { private PGgeometry geometry; public NodeValueGeom(PGgeometry geometry) { this.geometry = geometry; } public PGgeometry getGeometry() { return geometry; } @Override protected Node makeNode() { RDFDatatype datatype = TypeMapper.getInstance().getSafeTypeByName(OgcVocab.wktLiteral); Geometry g = geometry.getGeometry(); Node result = NodeFactory.createLiteral(g.getTypeString() + g.getValue(), datatype); return result; } @Override public void visit(NodeValueVisitor visitor) { throw new NotImplementedException(); } }