[CITE-Forum] Self join without aliases: valid?

cite at lat-lon.de cite at lat-lon.de
Wed Mar 28 05:43:31 EDT 2018

Hi Andrea,

we already discussed this a few month ago but could not finally clarify it.

As you say software could think it's not a join. I partially agree: multiple
type names could be the indicator to interpret the request as (self-)join. But
there may be more complex examples of filters where the alias is required to be

<wfs:Query typeNames="myns:Person myns:Person">

To have an consistent behaviour I tend to make the aliases mandatory in case of
a self-join. The test suite should be be improved.

Can someone from the authors of the specification clarify this in detail? Maybe
a change request is needed.

Best Regards,

Am 21.03.2018 um 14:31 schrieb Andrea Aime via CITE-Forum:
> Hi,
> the CITE test engine is generating the following request:
> <?xml version="1.0"?><wfs:GetFeature
> xmlns:wfs="http://www.opengis.net/wfs/2.0" count="10" service="WFS"
> startIndex="0" version="2.0.0">
>   <wfs:Query xmlns:ns50="http://cite.opengeospatial.org/gmlsf"
> typeNames="ns50:PrimitiveGeoFeature ns50:PrimitiveGeoFeature">
>     <Filter xmlns="http://www.opengis.net/fes/2.0">
>       <Intersects>
>         <ValueReference>ns50:PrimitiveGeoFeature/ns50:surfaceProperty</ValueReference>
>         <ValueReference>ns50:PrimitiveGeoFeature/ns50:curveProperty</ValueReference>
>       </Intersects>
>     </Filter>
>   </wfs:Query></wfs:GetFeature>
> Now, as you can see, it's a self join, but does not contain any alias
> declaration. As stated, software could be (imho) legitimately
> think it's not actually a join, and that the two fiters are both referring
> to the first "instance" of the feature type.
> I've checked the specification, all self join examples use aliases, but I
> do not see a clear request to use aliases on self-join.
> Referencing a significant bit (from "query the feature types
> aliases parameter"):
> Aliases are typically used in query expressions, that perform a join
> operation (see, to support self-
> joins. That is a join of one feature type back to itself.
> typeNames="myns:Feat1 myns:Feat1" aliases="a b"
> In this example, the first feature type, myns:Feat1, is aliased to the name
> "a" and the second feature type, myns:Feat1, is
> aliased to the name "b". Thus properties from the first instance of
> myns:Feat1 can be referenced in a request as
> "/a/property_name" and properties from the second instance of myns:Feat1
> can be referenced in a request as
> "/b/property_name" where the token "property_name" is used as a place
> holder for the name of any property of the feature
> myns:Feat1.
> So... can anybody clarifiy if this is an issue in the test engine, or if
> the servers are indeed supposed to understand
> the above request?
> Cheers
> Andrea
> ==
> GeoServer Professional Services from the experts! Visit http://goo.gl/it488V
> for more information.
> ==
> Ing. Andrea Aime
> @geowolf
> Technical Lead
> GeoSolutions S.A.S.
> Via di Montramito 3/A
> 55054  Massarosa (LU)
> phone: +39 0584 962313
> fax: +39 0584 1660272
> mob: +39  339 8844549
> http://www.geo-solutions.it
> http://twitter.com/geosolutions_it
> Le informazioni contenute in questo messaggio di posta elettronica e/o
> nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il
> loro utilizzo è consentito esclusivamente al destinatario del messaggio,
> per le finalità indicate nel messaggio stesso. Qualora riceviate questo
> messaggio senza esserne il destinatario, Vi preghiamo cortesemente di
> darcene notizia via e-mail e di procedere alla distruzione del messaggio
> stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso,
> divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od
> utilizzarlo per finalità diverse, costituisce comportamento contrario ai
> principi dettati dal D.Lgs. 196/2003.
> The information in this message and/or attachments, is intended solely for
> the attention and use of the named addressee(s) and may be confidential or
> proprietary in nature or covered by the provisions of privacy act
> (Legislative Decree June, 30 2003, no.196 - Italy's New Data Protection
> Code).Any use not in accord with its purpose, any disclosure, reproduction,
> copying, distribution, or either dissemination, either whole or partial, is
> strictly forbidden except previous formal approval of the named
> addressee(s). If you are not the intended recipient, please contact
> immediately the sender by telephone, fax or e-mail and delete the
> information in this message that has been received in error. The sender
> does not give any warranty or accept liability as the content, accuracy or
> completeness of sent messages and accepts no responsibility  for changes
> made after they were sent or for other risks which arise as a result of
> e-mail transmission, viruses, etc.
> _______________________________________________
> CITE-Forum mailing list
> CITE-Forum at lists.opengeospatial.org
> https://lists.opengeospatial.org/mailman/listinfo/cite-forum

### -->  Bitte beachten Sie unsere neuen Rufnummern  <--  ###

l a t / l o n  GmbH
Aennchenstrasse 19                    53177 Bonn, Germany
phone ++49 +228 9477 9877             fax ++49 +228 9477 0154
http://www.lat-lon.de                 http://www.deegree.org

lat/lon gesellschaft für raumbezogene informationssysteme mbH
Registergericht: Amtsgericht Bonn, HRB 13042
Geschäftsführer: Jens Fitzke und Torsten Friebe

More information about the CITE-Forum mailing list