Strabon

changeset 190:39de290fc0ec

merge
author Kostis Kyzirakos <kkyzir@di.uoa.gr>
date Wed May 23 14:27:59 2012 +0300 (2012-05-23)
parents 35e57a27c1f0 e83e7ee94da5
children 6ae3bb2cc015 3eb7ccfc4c37
files
line diff
     1.1 --- a/generaldb/src/main/java/org/openrdf/sail/generaldb/iteration/GeneralDBBindingIteration.java	Wed May 23 14:25:25 2012 +0300
     1.2 +++ b/generaldb/src/main/java/org/openrdf/sail/generaldb/iteration/GeneralDBBindingIteration.java	Wed May 23 14:27:59 2012 +0300
     1.3 @@ -5,6 +5,7 @@
     1.4   */
     1.5  package org.openrdf.sail.generaldb.iteration;
     1.6  
     1.7 +import java.sql.Blob;
     1.8  import java.sql.PreparedStatement;
     1.9  import java.sql.ResultSet;
    1.10  import java.sql.SQLException;
    1.11 @@ -26,6 +27,7 @@
    1.12  import org.openrdf.sail.rdbms.iteration.base.RdbmIterationBase;
    1.13  import org.openrdf.sail.rdbms.model.RdbmsResource;
    1.14  import org.openrdf.sail.rdbms.model.RdbmsValue;
    1.15 +import org.openrdf.sail.generaldb.model.GeneralDBPolyhedron;
    1.16  import org.openrdf.sail.generaldb.schema.IdSequence;
    1.17  import org.openrdf.sail.generaldb.schema.ValueTable;
    1.18  
    1.19 @@ -108,6 +110,26 @@
    1.20  	protected BindingSet convert(ResultSet rs)
    1.21  	throws SQLException
    1.22  	{
    1.23 +		
    1.24 +		/// debug
    1.25 +		for(int i=1; i<12;i++) {
    1.26 +			Object o = rs.getObject(i);
    1.27 +			if (o instanceof byte[] ) {
    1.28 +				byte[] label = rs.getBytes(i);
    1.29 +				int srid = rs.getInt(i + 1);
    1.30 +				GeneralDBPolyhedron g = vf.getRdbmsPolyhedron(114, StrabonPolyhedron.ogcGeometry, label, srid);
    1.31 +				System.out.println(i+": "+g.getPolyhedronStringRep());
    1.32 +			} else if (o instanceof Blob ) {
    1.33 +				Blob labelBlob = rs.getBlob(i); 
    1.34 +				byte[] label = labelBlob.getBytes((long)1, (int)labelBlob.length());
    1.35 +				int srid = rs.getInt(i + 1);
    1.36 +				GeneralDBPolyhedron g = vf.getRdbmsPolyhedron(114, StrabonPolyhedron.ogcGeometry, label, srid);
    1.37 +				System.out.println(i+": "+g.getPolyhedronStringRep());
    1.38 +			}  
    1.39 +			else 
    1.40 +				System.out.println(i+": "+rs.getObject(i));
    1.41 +		}
    1.42 +		///
    1.43  
    1.44  		QueryBindingSet result = new QueryBindingSet(bindings);
    1.45  		for (GeneralDBColumnVar var : projections) {
     2.1 --- a/generaldb/src/main/java/org/openrdf/sail/generaldb/schema/GeoValueTable.java	Wed May 23 14:25:25 2012 +0300
     2.2 +++ b/generaldb/src/main/java/org/openrdf/sail/generaldb/schema/GeoValueTable.java	Wed May 23 14:27:59 2012 +0300
     2.3 @@ -2,9 +2,7 @@
     2.4  package org.openrdf.sail.generaldb.schema;
     2.5  
     2.6  
     2.7 -import org.apache.commons.codec.binary.Hex;
     2.8 -import org.openrdf.sail.generaldb.GeneralDBSqlTable;
     2.9 -import org.openrdf.sail.rdbms.schema.RdbmsTable;
    2.10 +//import org.apache.commons.codec.binary.Hex;
    2.11  import java.sql.PreparedStatement;
    2.12  import java.sql.ResultSet;
    2.13  import java.sql.SQLException;
    2.14 @@ -12,7 +10,9 @@
    2.15  import java.util.ArrayList;
    2.16  import java.util.List;
    2.17  import java.util.concurrent.BlockingQueue;
    2.18 -import org.openrdf.query.algebra.evaluation.function.spatial.StrabonPolyhedron;
    2.19 +
    2.20 +import org.openrdf.sail.generaldb.GeneralDBSqlTable;
    2.21 +import org.openrdf.sail.rdbms.schema.RdbmsTable;
    2.22  
    2.23  
    2.24  /**
     3.1 --- a/monetdb/src/main/java/org/openrdf/sail/monetdb/iteration/MonetDBBindingIteration.java	Wed May 23 14:25:25 2012 +0300
     3.2 +++ b/monetdb/src/main/java/org/openrdf/sail/monetdb/iteration/MonetDBBindingIteration.java	Wed May 23 14:27:59 2012 +0300
     3.3 @@ -13,6 +13,7 @@
     3.4  import org.openrdf.query.BindingSet;
     3.5  import org.openrdf.query.algebra.evaluation.function.spatial.StrabonPolyhedron;
     3.6  import org.openrdf.sail.generaldb.iteration.GeneralDBBindingIteration;
     3.7 +import org.openrdf.sail.generaldb.model.GeneralDBPolyhedron;
     3.8  import org.openrdf.sail.rdbms.model.RdbmsValue;
     3.9  
    3.10  /**
    3.11 @@ -59,12 +60,10 @@
    3.12  	protected RdbmsValue createBinaryGeoValueForSelectConstructs(ResultSet rs, int index)
    3.13  	throws SQLException
    3.14  	{
    3.15 -
    3.16  		//Case of spatial constructs
    3.17  		Blob labelBlob = rs.getBlob(index + 1); 
    3.18  		byte[] label = labelBlob.getBytes((long)1, (int)labelBlob.length());
    3.19  		int srid = rs.getInt(index + 2);
    3.20  		return vf.getRdbmsPolyhedron(114, StrabonPolyhedron.ogcGeometry, label, srid);
    3.21 -
    3.22  	}
    3.23  }
    3.24 \ No newline at end of file
     4.1 --- a/postgis/src/main/java/org/openrdf/sail/postgis/evaluation/PostGISQueryBuilder.java	Wed May 23 14:25:25 2012 +0300
     4.2 +++ b/postgis/src/main/java/org/openrdf/sail/postgis/evaluation/PostGISQueryBuilder.java	Wed May 23 14:27:59 2012 +0300
     4.3 @@ -2113,7 +2113,7 @@
     4.4  			}
     4.5  
     4.6  			//Also need bounding box intersection query to enable the usage of the Gist R-tree index
     4.7 -			if(func != SpatialFunctionsPostGIS.SF_Disjoint && func != SpatialFunctionsPostGIS.EH_Disjoint)
     4.8 +			if(func != SpatialFunctionsPostGIS.SF_Disjoint && func != SpatialFunctionsPostGIS.EH_Disjoint && func != SpatialFunctionsPostGIS.RCC8_Dc)
     4.9  			{
    4.10  				filter.and();
    4.11  				appendGeneralDBSpatialFunctionBinary(expr, filter,SpatialFunctionsPostGIS.ST_Intersects);
     5.1 --- a/postgis/src/main/java/org/openrdf/sail/postgis/iteration/PostGISBindingIteration.java	Wed May 23 14:25:25 2012 +0300
     5.2 +++ b/postgis/src/main/java/org/openrdf/sail/postgis/iteration/PostGISBindingIteration.java	Wed May 23 14:27:59 2012 +0300
     5.3 @@ -13,6 +13,7 @@
     5.4  import org.openrdf.query.BindingSet;
     5.5  import org.openrdf.query.algebra.evaluation.function.spatial.StrabonPolyhedron;
     5.6  import org.openrdf.sail.generaldb.iteration.GeneralDBBindingIteration;
     5.7 +import org.openrdf.sail.generaldb.model.GeneralDBPolyhedron;
     5.8  import org.openrdf.sail.rdbms.model.RdbmsValue;
     5.9  
    5.10  /**
    5.11 @@ -57,8 +58,7 @@
    5.12  	@Override
    5.13  	protected RdbmsValue createBinaryGeoValueForSelectConstructs(ResultSet rs, int index)
    5.14  	throws SQLException
    5.15 -	{
    5.16 -
    5.17 +	{		
    5.18  		//Case of spatial constructs
    5.19  		byte[] label = rs.getBytes(index + 1);
    5.20  		int srid = rs.getInt(index + 2);
     6.1 --- a/runtime/src/test/java/eu/earthobservatory/runtime/generaldb/SpatialTests.java	Wed May 23 14:25:25 2012 +0300
     6.2 +++ b/runtime/src/test/java/eu/earthobservatory/runtime/generaldb/SpatialTests.java	Wed May 23 14:27:59 2012 +0300
     6.3 @@ -300,6 +300,7 @@
     6.4  		String query = 
     6.5  			prefixes+
     6.6  			"SELECT DISTINCT ( strdf:envelope(strdf:buffer(?g, \"0.5\"^^xsd:float)) AS ?ret ) \n"+
     6.7 +//			"SELECT DISTINCT ?g (strdf:buffer(?g, \"0.5\"^^xsd:float) as ?buf) ( strdf:envelope(strdf:buffer(?g, \"0.5\"^^xsd:float)) AS ?ret ) \n"+			
     6.8  			"WHERE { \n" +
     6.9  			" ?s ex:id ?id . \n"+
    6.10  			" ?s ex:geometry ?g . \n" +
    6.11 @@ -311,8 +312,8 @@
    6.12  				
    6.13  		assertEquals(1, bindings.size());
    6.14  				
    6.15 -		if ( -1<bindings.indexOf("[ret=\"POLYGON ((7.5 0.5, 7.5 2.5, 9.5 2.5, 9.5 0.5, 7.5 0.5))\"^^<http://strdf.di.uoa.gr/ontology#WKT>]") ||
    6.16 -			 -1<bindings.indexOf("[ret=\"POLYGON ((7.542893218813453 0.5428932188134517, 9.457106781186548 0.5428932188134517, 9.457106781186548 2.4571067811865483, 7.542893218813453 2.4571067811865483, 7.542893218813453 0.5428932188134517))\"^^<http://strdf.di.uoa.gr/ontology#WKT>]")
    6.17 +		if ( -1<bindings.indexOf("[ret=\"POLYGON ((7.5 0.5, 7.5 2.5, 9.5 2.5, 9.5 0.5, 7.5 0.5));http://www.opengis.net/def/crs/EPSG/0/4326\"^^<http://strdf.di.uoa.gr/ontology#WKT>]") ||
    6.18 +			 -1<bindings.indexOf("[ret=\"POLYGON ((7.542893218813453 0.5428932188134517, 9.457106781186548 0.5428932188134517, 9.457106781186548 2.4571067811865483, 7.542893218813453 2.4571067811865483, 7.542893218813453 0.5428932188134517));http://www.opengis.net/def/crs/EPSG/0/4326\"^^<http://strdf.di.uoa.gr/ontology#WKT>]")
    6.19  		)
    6.20  			assertTrue(true);
    6.21  		else
    6.22 @@ -335,7 +336,7 @@
    6.23  		ArrayList<String> bindings = (ArrayList<String>) strabon.query(query,strabon.getSailRepoConnection());
    6.24  				
    6.25  		assertEquals(1, bindings.size());
    6.26 -		assertTrue(-1<bindings.indexOf("[ret=\"POLYGON ((50 5, 10 8, 10 10, 100 190, 150 30, 150 10, 50 5))\"^^<http://strdf.di.uoa.gr/ontology#WKT>]"));
    6.27 +		assertTrue(-1<bindings.indexOf("[ret=\"POLYGON ((50 5, 10 8, 10 10, 100 190, 150 30, 150 10, 50 5));http://www.opengis.net/def/crs/EPSG/0/0\"^^<http://strdf.di.uoa.gr/ontology#WKT>]"));
    6.28  	}
    6.29  	
    6.30  	@Test
    6.31 @@ -354,14 +355,14 @@
    6.32  		ArrayList<String> bindings = (ArrayList<String>) strabon.query(query,strabon.getSailRepoConnection());
    6.33  				
    6.34  		assertEquals(1, bindings.size());
    6.35 -		assertTrue(-1<bindings.indexOf("[ret=\"LINESTRING (8 1, 9 1, 9 2, 8 2, 8 1)\"^^<http://strdf.di.uoa.gr/ontology#WKT>]"));	}
    6.36 +		assertTrue(-1<bindings.indexOf("[ret=\"LINESTRING (8 1, 9 1, 9 2, 8 2, 8 1);http://www.opengis.net/def/crs/EPSG/0/4326\"^^<http://strdf.di.uoa.gr/ontology#WKT>]"));	}
    6.37  
    6.38  	@Test
    6.39  	public void testStrdfIntersection() throws MalformedQueryException, QueryEvaluationException, TupleQueryResultHandlerException, IOException
    6.40  	{ 
    6.41  		String query = 
    6.42  			prefixes+
    6.43 -			"SELECT DISTINCT ( strdf:intersection(?g, \"POLYGON((5 3, 10 3, 10 8, 5 8, 5 3))\"^^strdf:WKT) AS ?ret ) \n"+
    6.44 +			"SELECT DISTINCT ( strdf:intersection(?g, \"POLYGON((5 3, 10 3, 10 8, 5 8, 5 3));http://www.opengis.net/def/crs/EPSG/0/4326\"^^strdf:WKT) AS ?ret ) \n"+
    6.45  			"WHERE { \n" +
    6.46  			" ?s ex:id ?id . \n"+
    6.47  			" ?s ex:geometry ?g . \n" +
    6.48 @@ -372,7 +373,7 @@
    6.49  		ArrayList<String> bindings = (ArrayList<String>) strabon.query(query,strabon.getSailRepoConnection());
    6.50  		
    6.51  		assertEquals(1, bindings.size());
    6.52 -		assertTrue(-1<bindings.indexOf("[ret=\"POLYGON ((10 3, 5 3, 5 8, 10 8, 10 3))\"^^<http://strdf.di.uoa.gr/ontology#WKT>]"));
    6.53 +		assertTrue(-1<bindings.indexOf("[ret=\"POLYGON ((10 3, 5 3, 5 8, 10 8, 10 3));http://www.opengis.net/def/crs/EPSG/0/4326\"^^<http://strdf.di.uoa.gr/ontology#WKT>]"));
    6.54  	}
    6.55  	
    6.56  	@Test
    6.57 @@ -391,7 +392,7 @@
    6.58  		ArrayList<String> bindings = (ArrayList<String>) strabon.query(query,strabon.getSailRepoConnection());
    6.59  				
    6.60  		assertEquals(1, bindings.size());
    6.61 -		assertTrue(-1<bindings.indexOf("[ret=\"POLYGON ((5 3, 3 3, 3 8, 5 8, 5 3))\"^^<http://strdf.di.uoa.gr/ontology#WKT>]"));
    6.62 +		assertTrue(-1<bindings.indexOf("[ret=\"POLYGON ((5 3, 3 3, 3 8, 5 8, 5 3));http://www.opengis.net/def/crs/EPSG/0/4326\"^^<http://strdf.di.uoa.gr/ontology#WKT>]"));
    6.63  	}
    6.64  
    6.65  	@Test
    6.66 @@ -399,7 +400,7 @@
    6.67  	{
    6.68  	String query = 
    6.69  		prefixes+
    6.70 -		"SELECT DISTINCT ( strdf:symDifference(?g, \"POLYGON((5 3, 12 3, 12 8, 5 8, 5 3))\"^^strdf:WKT) AS ?ret ) \n"+
    6.71 +		"SELECT DISTINCT ( strdf:symDifference(?g, \"POLYGON((5 3, 12 3, 12 8, 5 8, 5 3));http://www.opengis.net/def/crs/EPSG/0/4326\"^^strdf:WKT) AS ?ret ) \n"+
    6.72  		"WHERE { \n" +
    6.73  		" ?s ex:id ?id . \n"+
    6.74  		" ?s ex:geometry ?g . \n" +
    6.75 @@ -410,7 +411,7 @@
    6.76  	ArrayList<String> bindings = (ArrayList<String>) strabon.query(query,strabon.getSailRepoConnection());
    6.77  			
    6.78  	assertEquals(1, bindings.size());
    6.79 -	assertTrue(-1<bindings.indexOf("[ret=\"MULTIPOLYGON (((5 3, 3 3, 3 8, 5 8, 5 3)), ((10 3, 10 8, 12 8, 12 3, 10 3)))\"^^<http://strdf.di.uoa.gr/ontology#WKT>]"));
    6.80 +	assertTrue(-1<bindings.indexOf("[ret=\"MULTIPOLYGON (((5 3, 3 3, 3 8, 5 8, 5 3)), ((10 3, 10 8, 12 8, 12 3, 10 3)));http://www.opengis.net/def/crs/EPSG/0/4326\"^^<http://strdf.di.uoa.gr/ontology#WKT>]"));
    6.81  	}
    6.82  
    6.83  //	// -- Spatial Metric Functions -- //
    6.84 @@ -622,7 +623,7 @@
    6.85  		ArrayList<String> bindings = (ArrayList<String>) strabon.query(query,strabon.getSailRepoConnection());
    6.86  				
    6.87  		assertEquals(1, bindings.size());
    6.88 -		assertTrue(-1<bindings.indexOf("[ret=\"POLYGON ((50 5, 10 8, 10 10, 100 190, 150 30, 150 10, 50 5))\"^^<http://strdf.di.uoa.gr/ontology#WKT>]"));
    6.89 +		assertTrue(-1<bindings.indexOf("[ret=\"POLYGON ((50 5, 10 8, 10 10, 100 190, 150 30, 150 10, 50 5));http://www.opengis.net/def/crs/EPSG/0/0\"^^<http://strdf.di.uoa.gr/ontology#WKT>]"));
    6.90  	}
    6.91  	
    6.92  	@Test
    6.93 @@ -641,7 +642,7 @@
    6.94  		ArrayList<String> bindings = (ArrayList<String>) strabon.query(query,strabon.getSailRepoConnection());
    6.95  		
    6.96  		assertEquals(1, bindings.size());
    6.97 -		assertTrue(-1<bindings.indexOf("[ret=\"POLYGON ((10 3, 5 3, 5 8, 10 8, 10 3))\"^^<http://strdf.di.uoa.gr/ontology#WKT>]"));
    6.98 +		assertTrue(-1<bindings.indexOf("[ret=\"POLYGON ((10 3, 5 3, 5 8, 10 8, 10 3));http://www.opengis.net/def/crs/EPSG/0/4326\"^^<http://strdf.di.uoa.gr/ontology#WKT>]"));
    6.99  	}
   6.100  	
   6.101  	@Test
   6.102 @@ -660,7 +661,7 @@
   6.103  		ArrayList<String> bindings = (ArrayList<String>) strabon.query(query,strabon.getSailRepoConnection());
   6.104  				
   6.105  		assertEquals(1, bindings.size());
   6.106 -		assertTrue(-1<bindings.indexOf("[ret=\"POLYGON ((5 3, 3 3, 3 8, 5 8, 5 3))\"^^<http://strdf.di.uoa.gr/ontology#WKT>]"));
   6.107 +		assertTrue(-1<bindings.indexOf("[ret=\"POLYGON ((5 3, 3 3, 3 8, 5 8, 5 3));http://www.opengis.net/def/crs/EPSG/0/4326\"^^<http://strdf.di.uoa.gr/ontology#WKT>]"));
   6.108  	}
   6.109  
   6.110  	@Test
   6.111 @@ -679,7 +680,7 @@
   6.112  	ArrayList<String> bindings = (ArrayList<String>) strabon.query(query,strabon.getSailRepoConnection());
   6.113  			
   6.114  	assertEquals(1, bindings.size());
   6.115 -	assertTrue(-1<bindings.indexOf("[ret=\"MULTIPOLYGON (((5 3, 3 3, 3 8, 5 8, 5 3)), ((10 3, 10 8, 12 8, 12 3, 10 3)))\"^^<http://strdf.di.uoa.gr/ontology#WKT>]"));
   6.116 +	assertTrue(-1<bindings.indexOf("[ret=\"MULTIPOLYGON (((5 3, 3 3, 3 8, 5 8, 5 3)), ((10 3, 10 8, 12 8, 12 3, 10 3)));http://www.opengis.net/def/crs/EPSG/0/4326\"^^<http://strdf.di.uoa.gr/ontology#WKT>]"));
   6.117  	}
   6.118  
   6.119  	@Test
   6.120 @@ -699,8 +700,8 @@
   6.121  				
   6.122  		assertEquals(1, bindings.size());
   6.123  				
   6.124 -		if ( -1<bindings.indexOf("[ret=\"POLYGON ((7.5 0.5, 7.5 2.5, 9.5 2.5, 9.5 0.5, 7.5 0.5))\"^^<http://strdf.di.uoa.gr/ontology#WKT>]") ||
   6.125 -			 -1<bindings.indexOf("[ret=\"POLYGON ((7.542893218813453 0.5428932188134517, 9.457106781186548 0.5428932188134517, 9.457106781186548 2.4571067811865483, 7.542893218813453 2.4571067811865483, 7.542893218813453 0.5428932188134517))\"^^<http://strdf.di.uoa.gr/ontology#WKT>]")
   6.126 +		if ( -1<bindings.indexOf("[ret=\"POLYGON ((7.5 0.5, 7.5 2.5, 9.5 2.5, 9.5 0.5, 7.5 0.5));http://www.opengis.net/def/crs/EPSG/0/4326\"^^<http://strdf.di.uoa.gr/ontology#WKT>]") ||
   6.127 +			 -1<bindings.indexOf("[ret=\"POLYGON ((7.542893218813453 0.5428932188134517, 9.457106781186548 0.5428932188134517, 9.457106781186548 2.4571067811865483, 7.542893218813453 2.4571067811865483, 7.542893218813453 0.5428932188134517));http://www.opengis.net/def/crs/EPSG/0/4326\"^^<http://strdf.di.uoa.gr/ontology#WKT>]")
   6.128  		)
   6.129  			assertTrue(true);
   6.130  		else
     7.1 --- a/runtime/src/test/resources/spatial-tests-srid.nt	Wed May 23 14:25:25 2012 +0300
     7.2 +++ b/runtime/src/test/resources/spatial-tests-srid.nt	Wed May 23 14:27:59 2012 +0300
     7.3 @@ -18,13 +18,13 @@
     7.4  <http://example.org/pol7> <http://example.org/id> "G"^^<http://www.w3.org/2001/XMLSchema#string>.
     7.5  <http://example.org/pol8> <http://example.org/id> "H"^^<http://www.w3.org/2001/XMLSchema#string>.
     7.6  <http://example.org/pol9> <http://example.org/id> "Z"^^<http://www.w3.org/2001/XMLSchema#string>.
     7.7 -<http://example.org/pol1> <http://example.org/geometry> "POLYGON((1 6, 2 6, 2 7, 1 7, 1 6))"^^<http://strdf.di.uoa.gr/ontology#WKT>.
     7.8 +<http://example.org/pol1> <http://example.org/geometry>  "POLYGON((1 6, 2 6, 2 7, 1 7, 1 6))"^^<http://strdf.di.uoa.gr/ontology#WKT>.
     7.9  <http://example.org/pol11> <http://example.org/geometry> "POLYGON((1 6, 2 6, 2 7, 1 7, 1 6))"^^<http://strdf.di.uoa.gr/ontology#WKT>.
    7.10 -<http://example.org/pol2> <http://example.org/geometry> "POLYGON((4 2, 5 2, 5 4, 4 4, 4 2))"^^<http://strdf.di.uoa.gr/ontology#WKT>.
    7.11 -<http://example.org/pol3> <http://example.org/geometry> "POLYGON((8 1, 9 1, 9 2, 8 2, 8 1))"^^<http://strdf.di.uoa.gr/ontology#WKT>.
    7.12 -<http://example.org/pol4> <http://example.org/geometry> "POLYGON((11 6, 12 6, 12 7, 11 7, 11 6))"^^<http://strdf.di.uoa.gr/ontology#WKT>.
    7.13 -<http://example.org/pol5> <http://example.org/geometry> "POLYGON((8 6, 9 6, 9 7, 8 7, 8 6))"^^<http://strdf.di.uoa.gr/ontology#WKT>.
    7.14 -<http://example.org/pol6> <http://example.org/geometry> "POLYGON((6 7, 7 7, 7 8, 6 8, 6 7))"^^<http://strdf.di.uoa.gr/ontology#WKT>.
    7.15 -<http://example.org/pol7> <http://example.org/geometry> "POLYGON((4 8, 5 8, 5 9, 4 9, 4 8))"^^<http://strdf.di.uoa.gr/ontology#WKT>.
    7.16 -<http://example.org/pol8> <http://example.org/geometry> "POLYGON((8 9, 9 9, 9 10, 8 10, 8 9))"^^<http://strdf.di.uoa.gr/ontology#WKT>.
    7.17 -<http://example.org/pol9> <http://example.org/geometry> "POLYGON((3 3, 10 3, 10 8, 3 8, 3 3))"^^<http://strdf.di.uoa.gr/ontology#WKT>.
    7.18 +<http://example.org/pol2> <http://example.org/geometry>  "POLYGON((4 2, 5 2, 5 4, 4 4, 4 2))"^^<http://strdf.di.uoa.gr/ontology#WKT>.
    7.19 +<http://example.org/pol3> <http://example.org/geometry>  "POLYGON((8 1, 9 1, 9 2, 8 2, 8 1))"^^<http://strdf.di.uoa.gr/ontology#WKT>.
    7.20 +<http://example.org/pol4> <http://example.org/geometry>  "POLYGON((11 6, 12 6, 12 7, 11 7, 11 6))"^^<http://strdf.di.uoa.gr/ontology#WKT>.
    7.21 +<http://example.org/pol5> <http://example.org/geometry>  "POLYGON((8 6, 9 6, 9 7, 8 7, 8 6))"^^<http://strdf.di.uoa.gr/ontology#WKT>.
    7.22 +<http://example.org/pol6> <http://example.org/geometry>  "POLYGON((6 7, 7 7, 7 8, 6 8, 6 7))"^^<http://strdf.di.uoa.gr/ontology#WKT>.
    7.23 +<http://example.org/pol7> <http://example.org/geometry>  "POLYGON((4 8, 5 8, 5 9, 4 9, 4 8))"^^<http://strdf.di.uoa.gr/ontology#WKT>.
    7.24 +<http://example.org/pol8> <http://example.org/geometry>  "POLYGON((8 9, 9 9, 9 10, 8 10, 8 9))"^^<http://strdf.di.uoa.gr/ontology#WKT>.
    7.25 +<http://example.org/pol9> <http://example.org/geometry>  "POLYGON((3 3, 10 3, 10 8, 3 8, 3 3))"^^<http://strdf.di.uoa.gr/ontology#WKT>.