background preloader

Language Translation - Prolog

Facebook Twitter

SQ-HAL: Natural language to SQL Translator. SQ-HAL: Natural language to SQL Translator. Database Administration content from SQL Server Pro. Developers who are proficient with SQL are accustomed to posing questions to SQL Server in its native tongue.

Database Administration content from SQL Server Pro

However, SQL statements are arcane, and you can't expect your Web site's visitors to be able to create complex query statements to extract the information they're looking for. You can try to anticipate visitors' requests and add parameters to a catalog of queries, but writing all the possible SQL statements for how a visitor might extract information is a monumental chore.

For example, Listing 1 shows an SQL query to retrieve stage information for a shooting match held on a particular date. Table 1 shows the results for January 16, 1999. » SQL Developer: Give me a Google Translator for SQL! Tell Others About This Story: So you’re in Tweetdeck and someone mentions you in Portuguese or Swedish.

» SQL Developer: Give me a Google Translator for SQL!

You have no idea what it says, but you’re pretty sure it’s not a compliment. Translating information requests into SQL SELECT statements. Translating Your Request into SQL When you request information from the database, it's usually in the form of a question or a statement that implies a question.

Translating information requests into SQL SELECT statements

For example, you might formulate statements such as these: "Which cities do our customers live in? " "Show me a current list of our employees and their phone numbers. " "What kind of classes do we currently offer? " "Give me the names of the folks on our staff and the dates they were hired. " After you know what you want to ask, you can translate your request into a more formal statement. Section('packages/nlp.html') SWI-Prolog Natural Language Processing Primitives Abstract This package contains some well known basic routines for natural language processing and information retrieval.

section('packages/nlp.html')

The current version of this package is very limited, which makes the name somewhat misleading. Suggestions and contributions are welcome. The library library(double_metaphone) implements the Double Metaphone algorithm developed by Lawrence Philips and described in ``The Double-Metaphone Search Algorithm'' by L Philips, C/C++ User’s Journal, 2000. Double_metaphone() Section('packages/cql.html')

Constraint Query Language A high level interface to SQL databases Mike Elston Matt Lilley E-Mail: matt.s.lilley@gmail.com Abstract CQL is a high level Prolog interface to SQL databases.

section('packages/cql.html')

It is inspired by the work of Christoph Draxler Draxler, 1991 in the sense that SQL queries are generated but unlike Draxler's work, database tables are not mapped to Prolog predicates, but database queries are described by Prolog terms. These terms allow for accessing table columns by name and provide access to several aspects of SQL that have no natural Prolog equivalent, such as outer joins, inserts, etc. Section('packages/odbc.html') SWI-Prolog ODBC Interface Abstract This document describes the SWI-Prolog interface to ODBC, the Microsoft standard for Open DataBase Connectivity.

section('packages/odbc.html')

Prolog For Massive Data. I think a PrologForMassiveData as described below would be the language of choice for TopMind (collected together from RelationalAlgebra, RelationalProgrammingLanguage and TableOrientedProgramming). -- GunnarZarncke 'PrologLanguage is an in-memory database of "facts".' "In memory" That should be considered an implementation detail.

Prolog For Massive Data

Ideally, the distinction between RAM and disk should not be something a developer has to worry much about. -- top Sorry, this page was written too fast and late. It was a copy from somewhere else. It meant: Prolog is considered by some as an in-memory database of "facts". But if you extend it in the way proposed below to handle persistent data, then the distinction you mentioned should in fact become an implementation detail. --.gz PrologLanguage has tuples, but you examine them using pattern matching instead of using labels.

Employee ('Joe Doe', 1979, 'Department of Defense'). employee_managed_by ('Joe Doe', 'Mister X'). Ike submission. SWI Prolog - Interfacing with Microsoft sql-server. "Uwe Lesta" <[hidden email]> ha scritto nel messaggio news:461366B4.1050809__48781.9283422597$1175678946$gmane$[hidden email]...

SWI Prolog - Interfacing with Microsoft sql-server

> > > Maurizio Colucci wrote: > > Hi, > > > > I was wondering if it is possible to use swi-prolog to perform queries and > > verify conditions on a SQL-server database. For example, I would like to > > verify that, for each item in column X in table T, there is an item in > > column Y in table T with the same content. The Ciao Prolog System - Prolog to SQL translator. Go to the first, previous, next, last section, table of contents.

The Ciao Prolog System - Prolog to SQL translator

Author(s): C. Draxler. Adapted by M. Hermenegildo and I. Caballero. Package: lang/prolog/code/io/pl2sql/ SWI-Prolog to SQL bridge. (ORACLE&ODBC) Relational Abstract Machine Home Page. 03/03/2012 RAM 1.0 is close to Release!

Relational Abstract Machine Home Page

Emilio's PhD thesis is due soon and it will feature RAM 1.0. The Relational Abstract Machine (RAM) is the main computation engine for the Relational Computing project, and provides a new foundation for declarative programming based on rewriting and interpretation of Relation Expressions. The relation expressions are variable-free terms in a relation algebra with a fixed point operator. It is used here as an intermediate compilation language for Horn Clause logic programming with Constrains and other extensions. Emilio Jesús Gallego Arias and James Lipton. Emilio Jesús Gallego Arias, James Lipton and Julio Mariño.

Emilio Jesús Gallego Arias, James Lipton, Julio Mariño, and Pablo Nogueira. A Rule-based Inference Engine Extending Knowledge Processing Capabilities of Relational Database Management Systems. Package: lang/prolog/code/io/pl2sql/ Prolog Programming 173. This project was designed and written by 173 alumnus and 2010 TA Karl Stratos (a.k.a. Jan Sung Lee), with some suggestions along the way from the other 2010 TAs and me. Thanks to all the TAs!. Re-edited Oct 16 2013. -- CB Preparation and Grading Read Chapter 9 (esp. 9.2 -- 9.5) of Clocksin Mellish 5th Edition (it's scanned into the e-reserves, listed as number 2, "Clocksin. 2014: Code+Readme 60%, Writeup 40%. 2015: Code+Readme 50%, Writeup 50%. We should be working toward the time when code is not the issue, but results are. In fact, Hassler Thurston in 2014 created these test cases and used them for grading.

To Help Us Run Your Code Your parsing predicate should be called parse(). Similar thing for the translator predicate, which should be called translate(). Use these standard names for nonterminals in a parse tree (other terms may be used below, but these are for your program: sentence, noun_phrase, verb_phrase, det, adj, noun, verb, be_verb, rel_cl, rel_pronoun. Translation of Prolog programming language in English.