__ _ _ _ ___ _ __ _ _
/ _` | | | |/ _ \ '_ \| | | |
| (_| | |_| | __/ |_) | |_| |
\__, |\__,_|\___| .__/ \__, |
|_| |_| |___/
What’s quepy?
Quepy is a python framework to transform natural language questions to queries in a database query language. It can be easily customized to different kinds of questions in natural language and database queries. So, with little coding you can build your own system for natural language access to your database.
Currently Quepy provides support for Sparql and MQL query languages. We plan to extended it to other database query languages.
An example
To illustrate what can you do with quepy, we included an example application to access DBpedia contents via their sparql endpoint.
You can try the example online here: Online demo
Or, you can try the example yourself by doing:
python examples/dbpedia/main.py "Who is Tom Cruise?"
And it will output something like this:
SELECT DISTINCT ?x1 WHERE {
?x0 rdf:type foaf:Person.
?x0 rdfs:label "Tom Cruise"@en.
?x0 rdfs:comment ?x1.
}
Thomas Cruise Mapother IV, widely known as Tom Cruise, is an...
The transformation from natural language to sparql is done by first using a special form of regular expressions:
person_name = Group(Plus(Pos("NNP")), "person_name")
regex = Lemma("who") + Lemma("be") + person_name + Question(Pos("."))
And then using and a convenient way to express semantic relations:
person = IsPerson() + HasKeyword(person_name)
definition = DefinitionOf(person)
The rest of the transformation is handled automatically by the framework to finally produce this sparql:
SELECT DISTINCT ?x1 WHERE {
?x0 rdf:type foaf:Person.
?x0 rdfs:label "Tom Cruise"@en.
?x0 rdfs:comment ?x1.
}
Using a very similar procedure you could generate and MQL query for the same question obtaining:
[{
"/common/topic/description": [{}],
"/type/object/name": "Tom Cruise",
"/type/object/type": "/people/person"
}]
Installation
You need to have installed numpy. Other than that, you can just type:
pip install quepy
You can get more details on the installation here:
Learn more
You can find a tutorial here:
http://quepy.readthedocs.org/en/latest/tutorial.html
And the full documentation here:
Join our mailing list
Contribute!
Want to help develop quepy? Welcome aboard! Find us in
#quepy at freenode
quepydev at librelist.com
Metadata
Release files for quepy 0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| quepy-0.2.tar.gz | 42.3 kB | Without provenance | Details for quepy-0.2.tar.gz |
Release files / quepy-0.2.tar.gz
| Download URL | quepy-0.2.tar.gz |
|---|---|
| Size | 42.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
72b563c5f181935f66c9f3b6105400cfbe382f0821c60a119445374dc16cec52
|
|
BLAKE2b-256 checksum How to use checksums |
e9bc42d951d3f4cb95186c7be736f493a75852f21e6d11484927963a09c16514
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for quepy 0.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.