Page MenuHomePhabricator

Define and document specific approaches to supporting Blazegraph-specific functionality in SPARQL 1.1
Closed, ResolvedPublic

Description

Work has already been done regarding rewriting the wikibase:label service.

However, similar analysis and documentation are needed for 1) geospatial functions, 2) full-text search (such as wikibase:wmapi), 3) graph/analytic algorithms (such as the GAS API), 4) utility functions (such as bd:sample), and 5) named sub-queries/query hints/etc.

See the wikitech page, https://wikitech.wikimedia.org/wiki/User:AWesterinen/Blazegraph_Features_and_Capabilities, for details about Blazegraph-specific features.

This task scopes that work. Specific subtasks will be defined for the five areas noted above.

AC:

  • Geospatial subtask complete
  • Text search subtask complete
  • Graph/analytic subtask complete
  • Utility function subtask complete
  • Named subqueries and query hints subtask complete

Event Timeline

Updated the text to include "named subquery" handling.

And remove Blazegraph query hints.

Isn't there somewhere a list that includes named subqueries and hints? Does it include anything else?

@Pfps Here is the list that I have:

  • Label service
  • Query hints
  • Geospatial functions including (geof:) distance, buffer, latitutde/longitude, and topology relations comparing two geometries (geof:sfWithin, sfContains, sfIntersects, sfEquals, and sfTouches) and radius and bounding box searches (wikibase:around and wikibase:box)
  • Full-text search including wikibase:mwapi, bds:search, bds:matchAllTerms, bds:relevance, bds: rank, bds:min/maxRank and bds:min/maxRelevance
  • Analytic and graph algorithms including the Gather-Apply-Scatter (GAS) API supporting breadth-first Search (BFS), single-source shortest path (SSSP), and PageRank and defining traversal direction (Directed, Undirected, or Reverse)
  • Other functions: wikibase:label, named sub-queries, wikibase:decodeURI, bd:slice and bd:sample

GeoSPARQL is a standard, but not in the SPARQL 1.1 standard. Is there more geo here than in GeoSPARQL?

By the way, I don't think that there is anything in the migration documents about GeoSPARQL.

GeoSPARQL will be addressed in the rewrites of the geospatial functions such as "around" and "box".