Named columns and URLs used in federated queries (using SERVICE or FROM) are two different things. The latter point to the endpoints of SPARQL, named graphs are in triple storage and perform the main function of separating different data sets. This, in turn, can be useful both for increasing productivity and for presenting knowledge, for example, for representing what is the source of a set of statements.
For example, you might have two data sources that say " ?movie has-rating?x and you might want to know which source indicates which rating, in which case you can use two named graphs associated with these two sources (for example , http://www.example.com/rotten-tomatoes and http://www.example.com/imdb ). If you store both datasets in the same triple storage, you might want to use NG, and remote endpoints - is another addition, URL named Count can be used with dictionaries, such as. VOID, to describe a set given s as a whole (eg, the data set name, where and when imported triplets, who is the maintainer, user license). This is another reason for the separation of your triple store on NG.
However, your mechanism for linking NG to endpoint URLs can be implemented as an option, but I donβt think it would be advisable to have it as a must, since managing the remote endpoints and NG URLs individually can be more useful .
Moreover, the real problem with federated queries is to offer endpoint transparent queries, making the query mechanism smart enough to parse the query and understand how to split it and run partial queries on the right endpoints (and combine the results later, efficiently way). A lot of research is being done on this issue, one of the most significant results (as far as I know) is FedX , which was used to implement several query distribution optimizations ( example ).
The last thing to add, I vaguely remember the convention that you mention about $ url, $ url / sparql. There are several approaches (e.g. LOD cloud ). However, in most modern triple storages (for example, Virtuoso), queries that do not specify a named graph (do not use GRAPH) do not work as in the case of the default graph, they actually request the union of all named graphs in the store, which is usually much more useful (when you donβt know where something is indicated, or want to integrate cross-graphic data).