Is Polygon appropriate for functions that may take simpler geometries as arguments?
Eg the union of several Points should be MultiPoint and the union of several LineStrings should be MultiLineString, right?
Even if the subtype is correct, the use of Polygon/(Multi)Polygon should be precised. Surely aggUnion can be a MultiPolygon?
aggUnion -> Polygon
difference -> (Multi)Polygon
intersection -> Polygon
symDifference -> (Multi)Polygon
union -> Polygon
envelope -> (Multi)Polygon : should be Polygon since the function returns a rectangle (bounding box)
I will try to answer your questions here, others of the group, e.g. @nicholascar may weigh in:
aggBoundingBox: Yes the result will be rectangular, but the type e.g. in WKT but also in GeoJSON and other formats will be a Polygon, with 4 points, i.e. a rectangle, but typed a Polygon
Is Polygon appropriate for functions that return circles/arcs?: The type of the output, of course, varies with what the literal format supports. In the case of WKT/WKB you could use a circle/arc datatype, but for most other formats you would need to approximate the circle with a Polygon. Nonetheless we could add the circle/datatype to the table for the literals that support it
Is Polygon appropriate for functions that may take simpler geometries as arguments?: This is a good point. We may consider adding more types like this to the table.
I have some doubts about B.1. Functions Summary Table column Output Subtype (eg https://opengeospatial.github.io/ogc-geosparql/geosparql13/document.html#_328b184f-25e6-4b64-a46e-1e84e1e75574):