Skip to main content

PyLOD is a Python wrapper for exposing Linked Open Data from public SPARQL-served endpoints.

Project description

PyLOD

PyLOD is a Python wrapper for exposing Linked Open Data from public SPARQL-served endpoints. It acts as an abstraction layer for the retrieval of structured data, such as classes, properties and individuals, without requiring any knowledge of SPARQL.

Getting Started

PyLOD is a minimal module for Python (2.x. and 3.x).

Prerequisites

SPARQLWrapper - SPARQLWrapper is a simple Python wrapper around a SPARQL service to remotelly execute queries.

Installation

  • Manually

  1. Install SPARQLWrapper.
  2. Save PyLOD.py to your project's directory.
  • From PyPi

pip install PyLOD

Usage

1. Import the PyLOD class and create a PyLOD class object.

from PyLOD import PyLOD
pylod = PyLOD()

2. Provide a dictionary of desired namespaces

my_namespaces={
    "dbo": "http://dbpedia.org/ontology/",
    "dbp": "http://dbpedia.org/property/"
}

pylod.namespaces.set_namespaces(my_namespaces)

This step is optional, since PyLOD already incorporates a set of known namespaces. To get the list of defined namespaces, use this:

print(pylod.namespaces.get_namespaces())

3. Define a dictionary of SPARQL endpoints to be queried:

my_endpoints={
    "DBpedia": "http://dbpedia.org/sparql",
    "GeoLinkedData": "http://linkedgeodata.org/sparql"
}

pylod.endpoints.set_endpoints(my_endpoints)

If no endpoints are defined, PyLOD will use a pre-defined set of known endpoints. To get the list of these endpoints, do this:

print(pylod.endpoints.get_endpoints())

4. Use PyLOD's expose functions to retrieve structured data from the endpoints. Set the optional argument limit_per_endpoint to limit the results per endpoint. For example:

# Get entities of type owl:Class
classes = pylod.expose.classes(limit_per_endpoint=100)

# Get the sub-classes of a specific class 
sub_classes = pylod.expose.sub_classes(super_class="dbo:Artist")

# Get instances of a specific class 
instances = pylod.expose.instances_of_class(cls="dbo:Artist", include_subclasses=True, limit_per_endpoint=50)

# Execute custom SPARQL select query to all endpoints
results = pylod.sparql.execute_select_to_all_endpoints(query="SELECT * WHERE {?s ?p ?o}")

Expose functions:

  • classes() - Returns class entities
  • sub_classes() - Returns the sub-classes of a given class
  • super_classes() - Returns the super-classes of a given class
  • equivalent_classes() - Returns the equivalent classes of a given class
  • disjoint_classes() - Returns the disjoint classes of a given class
  • sub_properties() - Returns the sub-properties of a given property
  • super_properties() - Returns the super-properties of a given property
  • triples() - Allows the retrieval of triples within the pattern (subject-predicate-object)
  • subjects() - Returns the subjects of a given predicate-object pair
  • predicates() - Returns the predicates of a given subject-object pair
  • objects() - Returns the objects of a given subject-predicate pair
  • instances_of_class() - Returns instances of a given class type
  • labels() - Returns labels of a given entity, with an optional language argument

SPARQL functions:

  • execute_select() - Allows the execution of a custom SPARQL select query to a given endpoint URL
  • execute_select_to_all_endpoints() - Allows the execution of a custom SPARQL select query to all endpoints defined in pylod.endpoints.get_endpoints()
  • is_active_endpoint() - Checks if a given endpoint URL is alive and responds to SPARQL queries

Documentation

The official webpage - The Docs

Authors

Powered by

Applications

PyLOD has been deployed in the following projects:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

PyLOD-0.1.11.tar.gz (9.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

PyLOD-0.1.11-py2-none-any.whl (8.0 kB view details)

Uploaded Python 2

File details

Details for the file PyLOD-0.1.11.tar.gz.

File metadata

  • Download URL: PyLOD-0.1.11.tar.gz
  • Upload date:
  • Size: 9.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for PyLOD-0.1.11.tar.gz
Algorithm Hash digest
SHA256 e34bcc303a940a41e7d6d58390634f7aef94e74ade57e1285d0d5adae6f99cea
MD5 5240812b44815c98bee4c79b79789cf5
BLAKE2b-256 e850abba0673869239ac4a24510beb512c5d9acf53dbf0b0667c2c74a4bc00b1

See more details on using hashes here.

File details

Details for the file PyLOD-0.1.11-py2-none-any.whl.

File metadata

File hashes

Hashes for PyLOD-0.1.11-py2-none-any.whl
Algorithm Hash digest
SHA256 3a7e01333c1aafe0d080dccb4f5a67b490dea34664e90dfa2a7621bb17915841
MD5 c1e0c25c6009f21de6944273b1595d9d
BLAKE2b-256 e124768533c86e60dbb68c980d7a905c7dcea0ed4f4b8bae14a96d58dc106467

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page