Строки GML в черепахе

Я пытаюсь использовать словарь OGC GeoSPARQL в файле Turtle. Вот фрагмент:

: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>

Есть ли такой способ в черепахе? Или есть другие способы обработки такого дела?

Заранее спасибо!

1 ответ

Просто избегайте обидных персонажей, заменяя " с \":

: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;
.
Другие вопросы по тегам