### Class

# Tracker Endpoint

#### Description [src]

    abstract class Tracker.Endpoint : GObject.Object
    {
      /* No available fields */
    }

`TrackerEndpoint` is a helper object to make RDF triple stores represented by a `TrackerSparqlConnection` publicly available to other processes/hosts.

This is a base abstract object, see `TrackerEndpointDBus` to make RDF triple stores available to other processes in the same machine, and `TrackerEndpointHttp` to make it available to other hosts in the network.

When the RDF triple store represented by a `TrackerSparqlConnection` is made public this way, other peers may connect to the database using `tracker_sparql_connection_bus_new()` or `tracker_sparql_connection_remote_new()` to access this endpoint exclusively, or they may use the `SERVICE <uri> { ... }` SPARQL syntax from their own `TrackerSparqlConnection`s to expand their data set.

By default, and as long as the underlying `TrackerSparqlConnection` allows SPARQL updates and RDF graph changes, endpoints will allow updates and modifications to happen through them. Use `tracker_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 `tracker_endpoint_set_allowed_graphs()` and `tracker_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.

#### Ancestors

- GObject

#### Descendants

- TrackerEndpointDBus
- TrackerEndpointHttp

#### Instance methods

###### tracker_endpoint_get_allowed_graphs

Returns the list of RDF graphs that the endpoint allows access for.

since: 3.7

###### tracker_endpoint_get_allowed_services

Returns the list of external SPARQL endpoints that are allowed to be accessed through this endpoint.

since: 3.7

###### tracker_endpoint_get_readonly

Returns whether the endpoint is readonly, thus SPARQL update queries are disallowed.

since: 3.7

###### tracker_endpoint_get_sparql_connection

Returns the `TrackerSparqlConnection` that this endpoint proxies to a wider audience.

###### tracker_endpoint_set_allowed_graphs

Sets the list of RDF graphs that this endpoint will allow access for. Any explicit (e.g. `GRAPH` keyword) or implicit (e.g. through the default anonymous graph) access to RDF graphs unespecified in this list in SPARQL queries will be seen as if those graphs did not exist, or (equivalently) had an empty set. Changes to these graphs through SPARQL updates will also be disallowed.

since: 3.7

###### tracker_endpoint_set_allowed_services

Sets the list of external SPARQL endpoints that this endpoint will allow access for. Access through the `SERVICE` SPARQL syntax will fail for services not specified in this list.

since: 3.7

###### tracker_endpoint_set_readonly

Sets whether the endpoint will be readonly. Readonly endpoints will not allow SPARQL update queries. The underlying `TrackerSparqlConnection` may be readonly of its own, this method does not change its behavior in any way.

since: 3.7

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

#### Properties

###### Tracker.Endpoint:allowed-graphs

RDF graphs that are allowed to be accessed through queries to this endpoint. See tracker_endpoint_set_allowed_graphs().

since: 3.7

###### Tracker.Endpoint:allowed-services

External SPARQL endpoints that are allowed to be accessed through queries to this endpint. See tracker_endpoint_set_allowed_services().

since: 3.7

###### Tracker.Endpoint:readonly

Whether the endpoint allows SPARQL updates or not. See tracker_endpoint_set_readonly().

since: 3.7

###### Tracker.Endpoint:sparql-connection

The `TrackerSparqlConnection` being proxied by this endpoint.

#### Signals

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct TrackerEndpointClass {
      /* no available fields */
    }

No description available.