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
- Install SPARQLWrapper.
- Save
PyLOD.pyto 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
- Panos Mitzias - Design and development
- Stratos Kontopoulos - Contribution to the design
Powered by
- Centre for Research & Technology Hellas - CERTH
- Multimedia Knowledge & Social Media Analytics Laboratory - MKLab
Applications
PyLOD has been deployed in the following projects:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e34bcc303a940a41e7d6d58390634f7aef94e74ade57e1285d0d5adae6f99cea
|
|
| MD5 |
5240812b44815c98bee4c79b79789cf5
|
|
| BLAKE2b-256 |
e850abba0673869239ac4a24510beb512c5d9acf53dbf0b0667c2c74a4bc00b1
|
File details
Details for the file PyLOD-0.1.11-py2-none-any.whl.
File metadata
- Download URL: PyLOD-0.1.11-py2-none-any.whl
- Upload date:
- Size: 8.0 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3a7e01333c1aafe0d080dccb4f5a67b490dea34664e90dfa2a7621bb17915841
|
|
| MD5 |
c1e0c25c6009f21de6944273b1595d9d
|
|
| BLAKE2b-256 |
e124768533c86e60dbb68c980d7a905c7dcea0ed4f4b8bae14a96d58dc106467
|