I am trying to convert "POLYGON(())" wkt value from string to "wktLiteral"
as suggested above in below code (python rdflib).

if name == "wkt":
    self._graph.add((image, GEO["asWKT"], rl.Literal(value,
datatype=GEO["wktLiteral"])))


 Is it right method ?

As I see below values when I execute query. The wktliteral value is
not appended in the end.


"POLYGON((8.461714982986452 48.997849415191105,8.461714982986452
48.99797963751407,8.461988568305971
48.99797963751407,8.461988568305971
48.997849415191105,8.461714982986452 48.997849415191105))"^^


Thanks,

Manoj


On Sat, Apr 18, 2020 at 3:47 PM Andy Seaborne <a...@apache.org> wrote:

> The literal need to have a datatype
>
> "POLYGON((...))"^^<http://www.opengis.net/ont/geosparql#wktLiteral>
>
> judging by your first message, they are strings.
>
>      Andy
>
> On 18/04/2020 13:03, manoj deshpande wrote:
> > I tried below query as per suggestion, But this also returns me no
> results.
> > Is the query is right ??
> >
> > PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
> > PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
> > PREFIX geo: <http://www.opengis.net/ont/geosparql#>
> > PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
> > PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
> > PREFIX : <http://example.org/#>
> > PREFIX geo: <http://www.opengis.net/ont/geosparql#>
> > PREFIX spatial: <http://jena.apache.org/spatial#>
> > SELECT ?object
> > WHERE {
> > GRAPH <http://project/base/default> {
> >      ?subject geo:asWKT ?object FILTER ( geo:equals(?object,
> > "POLYGON((8.463699817657472 48.99872928913063,8.463887572288515
> > 48.998644821906865,8.46399486064911 48.998764483764916,8.46425771713257
> > 48.99865538031766,8.464375734329225 48.998746886450874,8.463919758796694
> > 48.99893693711346,8.463699817657472 48.99872928913063))"))
> > } }
> >
> >
> > *Results*
> >
> > {
> >    "head": {
> >      "vars": [ "object" ]
> >    } ,
> >    "results": {
> >      "bindings": [
> >
> >      ]
> >    }
> > }
> >
> > Thanks & Regards
> > Manoj
> >
> > On Sat, Apr 18, 2020 at 12:27 PM Lorenz Buehmann <
> > buehm...@informatik.uni-leipzig.de> wrote:
> >
> >> geo:equals is a filter function and not a property function. This means
> >> it returns a boolean value, thus, you have to use it in a FILTER
> >>
> >> (untested)
> >>
> >> FILTER(geo:equals(?object,
> >>                                "POLYGON((8.463699817657472
> >> 48.99872928913063,8.463887572288515 48.998644821906865,8.46399486064911
> >> 48.998764483764916,8.46425771713257 48.99865538031766,8.464375734329225
> >> 48.998746886450874,8.463919758796694 48.99893693711346,8.463699817657472
> >> 48.99872928913063))"
> >>                                )
> >>             )
> >>
> >>
> >> On 18.04.20 12:19, manoj deshpande wrote:
> >>> I am using Apache Jena Fuseki Server for Storing Geo Coordinates of
> >>> location. How to find out that if two polygons or two rectangles
> >>> intersect each other inside Fuseki.
> >>>
> >>> I have stored geocoordinates in WKT serialization format. When I
> >>> execute below query
> >>>
> >>> |*PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX rdf:
> >>> <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX geo:
> >>> <http://www.opengis.net/ont/geosparql#> PREFIX xsd:
> >>> <http://www.w3.org/2001/XMLSchema#> PREFIX rdfs:
> >>> <http://www.w3.org/2000/01/rdf-schema#> PREFIX :
> >>> <http://example.org/#> PREFIX geo:
> >>> <http://www.opengis.net/ont/geosparql#> PREFIX spatial:
> >>> <http://jena.apache.org/spatial#> SELECT ?object WHERE { GRAPH
> >>> <http://project/base/default> { ?subject geo:asWKT ?object . } }*|||
> >>> I get these below results.
> >>> |object 1 "POLYGON((8.463699817657472
> >>> 48.99872928913063,8.463887572288515
> >>> 48.998644821906865,8.46399486064911
> >>> 48.998764483764916,8.46425771713257
> >>> 48.99865538031766,8.464375734329225
> >>> 48.998746886450874,8.463919758796694
> >>> 48.99893693711346,8.463699817657472 48.99872928913063))" 2
> >>> "POLYGON((8.463560342788698 48.99847940651206,8.463560342788698
> >>> 48.99864834137738,8.46377491950989 48.99864834137738,8.46377491950989
> >>> 48.99847940651206,8.463560342788698 48.99847940651206))" 3
> >>> "POLYGON((8.463447690010073 48.99835974396915,8.463447690010073
> >>> 48.99849348443939,8.463646173477175
> >>> 48.99849348443939,8.463646173477175
> >>> 48.99835974396915,8.463447690010073 48.99835974396915))" 4
> >>> "POLYGON((8.463254570961 48.99821544463795,8.463254570961
> >>> 48.99838438039854,8.463635444641115
> >>> 48.99838438039854,8.463635444641115 48.99821544463795,8.463254570961
> >>> 48.99821544463795))" 5 "POLYGON((8.463689088821413
> >>> 48.99826823712468,8.463689088821413 48.99845477012966,8.46402168273926
> >>> 48.99845477012966,8.46402168273926 48.99826823712468,8.463689088821413
> >>> 48.99826823712468))" 6 "POLYGON((8.463892936706545
> >>> 48.99843013373508,8.463892936706545
> >>> 48.998588510344774,8.464316725730898
> >>> 48.998588510344774,8.464316725730898
> >>> 48.99843013373508,8.463892936706545 48.99843013373508))" 7
> >>> "POLYGON((8.463093638420107 48.99805354732974,8.463093638420107
> >>> 48.998243600637835,8.463737368583681
> >>> 48.998243600637835,8.463737368583681
> >>> 48.99805354732974,8.463093638420107 48.99805354732974))" 8
> >>> "POLYGON((8.463619351387026 48.99797963751407,8.463619351387026
> >>> 48.998180249615714,8.464118242263796
> >>> 48.998180249615714,8.464118242263796
> >>> 48.99797963751407,8.463619351387026 48.99797963751407))" 9
> >>> "POLYGON((8.464407920837404 48.998303432084754,8.464407920837404
> >>> 48.99857443244431,8.46477270126343 48.99857443244431,8.46477270126343
> >>> 48.998303432084754,8.464407920837404 48.998303432084754))" 10
> >>> "POLYGON((8.464225530624391 48.99806762537742,8.464225530624391
> >>> 48.99839141937611,8.464820981025698
> >>> 48.99839141937611,8.464820981025698
> >>> 48.99806762537742,8.464225530624391 48.99806762537742))"|
> >>> |Then later I want to filter out these geo:WKT objects based on
> >>> geo:intersection (Intersection or equals or contains methods). And I
> >>> updated my query as below. |
> >>> |
> >>> |*PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX rdf:
> >>> <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX geo:
> >>> <http://www.opengis.net/ont/geosparql#> PREFIX xsd:
> >>> <http://www.w3.org/2001/XMLSchema#> PREFIX rdfs:
> >>> <http://www.w3.org/2000/01/rdf-schema#> PREFIX :
> >>> <http://example.org/#> PREFIX geo:
> >>> <http://www.opengis.net/ont/geosparql#> PREFIX spatial:
> >>> <http://jena.apache.org/spatial#> SELECT ?object WHERE { GRAPH
> >>> <http://project/base/default> { ?subject geo:asWKT ?object . ?object
> >>> geo:equals "POLYGON((8.463699817657472
> >>> 48.99872928913063,8.463887572288515
> >>> 48.998644821906865,8.46399486064911
> >>> 48.998764483764916,8.46425771713257
> >>> 48.99865538031766,8.464375734329225
> >>> 48.998746886450874,8.463919758796694
> >>> 48.99893693711346,8.463699817657472 48.99872928913063))" } } *|
> >>> |Which should result me atleast the coordinates of first geo object
> >>> which really equals the POLYGON coordinates but I get empty results as
> >>> shown in below image. Please suggest me where I am getting it wrong.**|
> >>> But I get no results as attached in snapshot. Please help me regarding
> >> this.|
> >>
> >
>

Reply via email to