我正在尝试在Turtle文件中使用OGC GeoSPARQL词汇表。这是一个片段:
:spatialextent
a geosparql:Geometry;
geosparql:asGML "<gml:Polygon srsName="EPSG:28992"><gml:exterior><gml:LinearRing><gml:posList srsDimension="2">97372 487153 97372 580407 149636 580407 149636 487153 97372 487153</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon>"^^geosparql:gmlLiteral;
.
我使用的在线RDF验证程序拒绝了此表示法:http://www.rdfabout.com/demo/validator/,由于双引号,例如“EPSG:28992”。这可以通过将双引号更改为单引号来解决。我认为这不会使GML无效。但我宁愿保留双引号,因为这是GML的生成方式。
在RDF / XML中,解决方案是使用CDATA块,如下所示(GeoSPARQL文档中的示例。是的,它是WKT,但同样的原则适用):
<sf:Polygon rdf:about="http://example.org/ApplicationSchema#AExactGeom">
<geo:asWKT rdf:datatype= "http://www.opengis.net/ont/geosparql#wktLiteral">
<![CDATA[<http://www.opengis.net/def/crs/OGC/1.3/CRS84> Polygon((-83.6 34.1, -83.2 34.1, -83.2 34.5,-83.6 34.5, -83.6 34.1))]]>
</geo:asWKT>
</sf:Polygon>
乌龟有这种方法吗?或者还有其他方法可以处理这样的案例吗?
提前致谢!
答案 0 :(得分:2)
仅escape the offending characters,将"
替换为\"
:
:spatialextent
a geosparql:Geometry;
geosparql:asGML
"<gml:Polygon srsName=\"EPSG:28992\"><gml:exterior><gml:LinearRing><gml:posList srsDimension=\"2\">97372 487153 97372 580407 149636 580407 149636 487153 97372 487153</gml:posList></gml:LinearRing></gml:exterior></gml:Polygon>"^^geosparql:gmlLiteral;
.