A python wrapper to easily query knowledge graphs with SPARQL
python setup.py
pip install easysparql
python -m unittest discover
python setup.py sdist bdist_wheel
twine upload dist/*
run_query
: run a sparql query.get_entities
: get candidate entities of the given name (exact match).get_classes
: get classes of a given entity.get_parents_of_class
: get direct parent classes of a given class.get_subjects
: Get the number of subjects of a given class.get_properties_of_subject
: Get the properties of a given subject.get_numerics_from_list
: Get the numbers from a list of strings and numbers (if they are more that the provided percentage).get_num
: Get the number of a given number/string or None (if it was not a number).
from easysparql import easysparql
DBPEDIA_ENDPOINT = "https://dbpedia.org/sparql"
albert_uri = "http://dbpedia.org/resource/Albert_Einstein"
albert_name = "Albert Einstein"
scientist = "http://dbpedia.org/ontology/Scientist"
foaf_name = "http://xmlns.com/foaf/0.1/name"
classes = easysparql.get_classes(albert_uri, DBPEDIA_ENDPOINT)
entities = easysparql.get_entities(albert_name, DBPEDIA_ENDPOINT, "@en")
parents = easysparql.get_parents_of_class(scientist, DBPEDIA_ENDPOINT)
query = "select distinct ?Concept where {[] a ?Concept} LIMIT 100"
results = easysparql.run_query(query, DBPEDIA_ENDPOINT)
subjects = easysparql.get_subjects(class_uri=scientist, endpoint=DBPEDIA_ENDPOINT)
properties = easysparql.get_properties_of_subject(subject_uri=albert_uri, endpoint=DBPEDIA_ENDPOINT)
a = ["1.2","2","4","3",3,6,"a","b", "ccc", "1jasdf"]
nums = easysparql.get_numerics_from_list(a, 0.5)