`TrackerEndpoint` is a helper object to make RDF triple stores represented by a [class@SparqlConnection] publicly available to other processes/hosts.
This is a base abstract object, see [class@EndpointDBus] to make RDF triple stores available to other processes in the same machine, and [class@EndpointHttp] to make it available to other hosts in the network.
When the RDF triple store represented by a [class@SparqlConnection] is made public this way, other peers may connect to the database using [ctor@SparqlConnection.bus_new] or [ctor@SparqlConnection.remote_new] to access this endpoint exclusively, or they may use the `SERVICE <uri> { ... }` SPARQL syntax from their own [class@SparqlConnection]s to expand their data set.
By default, and as long as the underlying [class@SparqlConnection] allows SPARQL updates and RDF graph changes, endpoints will allow updates and modifications to happen through them. Use [method@Endpoint.set_readonly] to change this behavior.
By default, endpoints allow access to every RDF graph in the triple store and further external SPARQL endpoints to the queries performed on it. Use [method@Endpoint.set_allowed_graphs] and [method@Endpoint.set_allowed_services] to change this behavior. Users do not typically need to do this for D-Bus endpoints, as these do already have a layer of protection with the Tracker portal. This is the mechanism used by the portal itself. This access control API may not interoperate with other SPARQL endpoint implementations than Tracker.