Hi,

[Hugh] What is the actual “select ..” query you are running, please provide
> actual queries so no assumptions are being made.


Here are the full queries that cause the problem :

STEP 1 (entering data)

PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX virtrdf: <http://www.openlinksw.com/schemas/virtrdf#>
PREFIX : <http://test/#>
INSERT DATA{
GRAPH <http://test/> {
   :data1    geo:geometry    "POLYGON((12.332352 45.439447,12.332362
45.439456,12.332305 45.439457,12.332339 45.439436,12.332352
45.439447))"^^virtrdf:Geometry .
}
}

STEP 2 (select query)

PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX : <http://test/#>

SELECT  ?subject ?geom
FROM    <http://test/>
WHERE   {
        ?subject geo:geometry ?geom .
        FILTER( bif:st_intersects ( ?geom, bif:st_geomfromtext("BOX(12.31
45.41, 12.38 45.48)") ) )
}

Are you able to reproduce the problem ?

Thanks !

Olivier Dalang
---
Digital Humanities Lab (DHLAB) - http://dhlab.epfl.ch
EPFL CDH DHLAB  / CM 2 271
Station 10 / CH-1015 Lausanne
Tel. +41 21 693 02 46



2014-11-08 17:25 GMT+01:00 Hugh Williams <hwilli...@openlinksw.com>:

> Oliver,
>
> > On 4 Nov 2014, at 14:11, Olivier Dalang <olivier.dal...@gmail.com>
> wrote:
> >
> > Hi,
> >
> > I tested this right now on today's Version 7.1.1-dev.3211-pthreads as of
> Nov  4 2014 (051e91d2029a3e90a854539ed83c30e889460847)
> >
> > I'm not really sure about what's happening, my data set is a bit complex
> and I've trouble finding which feature exactly cause some problems. When
> trying to reproduce the error, I ran into the problem even with normal
> polygons. It seems it's more depending on the coordinates than on the type
> of shapes.
> >
> > Here's the query :
> >
> > PREFIX geo: <http://www.opengis.net/ont/geosparql#>
> > PREFIX : <http://test/#>
> >
> > SELECT  ?subject ?geom
> > FROM    <http://test/>
> > WHERE   {
> >         ?subject geo:geometry ?geom .
> >         FILTER( bif:st_intersects ( ?geom,
> bif:st_geomfromtext("BOX(12.31 45.41, 12.38 45.48)") ) )
> > }
> >
> > It works with this data :
> >
> > PREFIX geo: <http://www.opengis.net/ont/geosparql#>
> > PREFIX virtrdf: <http://www.openlinksw.com/schemas/virtrdf#>
> > PREFIX : <http://test/#>
> > INSERT DATA{
> >       GRAPH <http://test/> {
> >          :data0    geo:geometry    "POINT(12.332352
> 45.439447)"^^virtrdf:Geometry .
> >       }
> > }
> >
> > It doesn't work with this data (I get the "Virtuoso 42000 Error GEO..:
> for after check of geo intersects, some shape types (e.g., polygon rings
> and curves) are not yet supported" error when using the select query
> above). Note that if I change the BOX in the select query so that it
> doesn't intersect the data, I get no error (and of course no result)
> >
> > ...
> >          :data1    geo:geometry    "POLYGON((12.332352
> 45.439447,12.332362 45.439456,12.332305 45.439457,12.332339
> 45.439436,12.332352 45.439447))"^^virtrdf:Geometry .
> > ...
> >
> >
>
> [Hugh] What is the actual “select ..” query you are running, please
> provide actual queries so no assumptions are being made.  I assume the
> insert query is:
>
>         SPARQL PREFIX geo: <http://www.opengis.net/ont/geosparql#> PREFIX
> virtrdf: <http://www.openlinksw.com/schemas/virtrdf#> PREFIX : <
> http://test/#> INSERT DATA{ GRAPH <http://test/> { :data2
> geo:geometry    "POLYGON((0 0,0 1,1 1,1 0,0 0))"^^virtrdf:Geometry .     }};
>
> but the select query is unclear to me ???
>
> > The strange thing is that I get no error with this data even when the
> BOX intersects the polygon in the SELECT query ("BOX(-1 -1,1 1)"), even if
> it's the same type of geometry.
> >
> > ...
> >          :data2    geo:geometry    "POLYGON((0 0,0 1,1 1,1 0,0
> 0))"^^virtrdf:Geometry .
> > ...
> >
> >
> > While testing, I ran into another family of queries where I get the same
> error.
> >
> > This query works properly (intersection1 is true and intersection2 is
> false) :
> >
> > SELECT
> >               (  bif:st_intersects( bif:st_geomfromtext("POLYGON((0 0,0
> 10,10 10,10 0,0 0))"), bif:st_geomfromtext("POLYGON((0 0,0 5,5 5,5 0,0
> 0))") ) as ?intersection_test_1 )
> >               (  bif:st_intersects( bif:st_geomfromtext("POLYGON((0 0,0
> 10,10 10,10 0,0 0))"), bif:st_geomfromtext("POLYGON((20 20,20 25,25 25,25
> 20,20 20))") ) as ?intersection_test_2 )
> > WHERE{
> > }
>
> [Hugh] I can recreate the error running this query:
>
> SQL> SPARQL SELECT (  bif:st_intersects( bif:st_geomfromtext("POLYGON((0
> 0,0 10,10 10,10 0,0 0))"), bif:st_geomfromtext("BOX(0 0,5 5)") ) as
> ?intersection_test_1 ) (  bif:st_intersects(
> bif:st_geomfromtext("POLYGON((0 0,0 10,10 10,10 0,0 0))"),
> bif:st_geomfromtext("BOX(20 20,25 25)") ) as ?intersection_test_2 ) WHERE{
> };
>
> *** Error 42000: VD [Virtuoso Server]GEO..: for after check of geo
> intersects, some shape types (e.g., polygon rings and curves) are not yet
> supported
> at line 40 of Top-Level:
> SPARQL SELECT (  bif:st_intersects( bif:st_geomfromtext("POLYGON((0 0,0
> 10,10 10,10 0,0 0))"), bif:st_geomfromtext("BOX(0 0,5 5)") ) as
> ?intersection_test_1 ) (  bif:st_intersects(
> bif:st_geomfromtext("POLYGON((0 0,0 10,10 10,10 0,0 0))"),
> bif:st_geomfromtext("BOX(20 20,25 25)") ) as ?intersection_test_2 ) WHERE{
> }
> SQL>
>
> So we have something to look into for this query form as “polygons” are
> supported, as in the online examples at:
>
>
> http://virtuoso.openlinksw.com/tutorials/sparql/SPARQL_Tutorials_Part_10/SPARQL_Tutorials_Part_10.html#(1)
>
> Regards
> Hugh
>
> >
> > This other query doesn't work (same error as above), but it's identical
> from a geometric point of view :
> >
> > SELECT
> >               (  bif:st_intersects( bif:st_geomfromtext("POLYGON((0 0,0
> 10,10 10,10 0,0 0))"), bif:st_geomfromtext("BOX(0 0,5 5)") ) as
> ?intersection_test_1 )
> >               (  bif:st_intersects( bif:st_geomfromtext("POLYGON((0 0,0
> 10,10 10,10 0,0 0))"), bif:st_geomfromtext("BOX(20 20,25 25)") ) as
> ?intersection_test_2 )
> > WHERE{
> >
> > }
> >
> >
> > Can you confirm the issues ?
> > I got quite confused with all those queries/testing...
> >
> > Best regards,
> >
> > Olivier
> >
> >
> > 2014-11-04 3:03 GMT+01:00 Hugh Williams <hwilli...@openlinksw.com>:
> > Hi Oliver,
> >
> > Are you able to provide a sample dataset and query to demonstrate the
> error being encountered. Also confirm the Virtuoso version being used
> (virtuoso-t -?) or which git archive you have built against ?
> >
> > Best Regards
> > Hugh Williams
> > Professional Services
> > OpenLink Software, Inc.      //              http://www.openlinksw.com/
> > Weblog   -- http://www.openlinksw.com/blogs/
> > LinkedIn -- http://www.linkedin.com/company/openlink-software/
> > Twitter  -- http://twitter.com/OpenLink
> > Google+  -- http://plus.google.com/100570109519069333827/
> > Facebook -- http://www.facebook.com/OpenLinkSoftware
> > Universal Data Access, Integration, and Management Technology Providers
> >
> >> On 3 Nov 2014, at 12:08, Olivier Dalang <olivier.dal...@gmail.com>
> wrote:
> >>
> >> Hi !
> >>
> >> The bif:ST_Intersects function throws an error when used on some type
> of shapes. Here's the error message :
> >>
> >> GEO..: for after check of geo intersects, some shape types (e.g.,
> polygon rings and curves) are not yet supported" on query...
> >>
> >> It indeed happens when working on polygons with inner rings.
> >>
> >>
> >> Here, I'm using the ST_Intersect function to filter returned features
> to my map bounding frame:
> >>
> >> FILTER (
> >>     bif:st_intersects ( ?geom, bif:st_geomfromtext("BOX({{xmin}}
> {{ymin}}, {{xmax}} {{ymax}})") )
> >> )
> >>
> >> I'm almost sure this used to work some weeks ago or at least did not
> return errors (probably it silently ignored inner rings ?).
> >>
> >> In my case, I don't really mind about inner rings, I'd actually be
> happy with a bif:st_mbb_intersect function (mbb for minimum bounding box),
> which would even be lighter to compute. Is there such a function ? Or a
> function to return the bounding box of a geometry ?
> >> Or is there a way to make bif:st_intersects work again on all types of
> shapes ?
> >>
> >> Thanks in advance for your help !
> >>
> >>
> >> Olivier Dalang
> >> ---
> >> Digital Humanities Lab (DHLAB) - http://dhlab.epfl.ch
> >> EPFL CDH DHLAB  / CM 2 271
> >> Station 10 / CH-1015 Lausanne
> >> Tel. +41 21 693 02 46
> >>
> >>
> >>
> >>
> >>
> ------------------------------------------------------------------------------
> >> _______________________________________________
> >> Virtuoso-users mailing list
> >> Virtuoso-users@lists.sourceforge.net
> >> https://lists.sourceforge.net/lists/listinfo/virtuoso-users
> >
> >
> >
> ------------------------------------------------------------------------------
> > _______________________________________________
> > Virtuoso-users mailing list
> > Virtuoso-users@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/virtuoso-users
>
>
------------------------------------------------------------------------------
_______________________________________________
Virtuoso-users mailing list
Virtuoso-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/virtuoso-users

Reply via email to