The following section describes an example of setting up a SQL backend Fact Bank.
A company wants to make its exports data available for question answering. It exports two products, Psi and Omega, to two countries, Germany and France.
In 2015, Psi cost €5 and Omega cost €20. The company exported:
In 2016, Psi cost €7 and Omega cost €18. Sales increased, and the company exported:
The following tables show the Fact Bank Facts and Qualifiers table for this information.
entity_code | property_code | property_value | qualifier_combination |
---|---|---|---|
QPSI
|
REXPORTS
|
50 | 0 |
QPSI
|
REXPORTS
|
10 | 1 |
QPSI
|
REXPORTS
|
80 | 2 |
QPSI
|
REXPORTS
|
40 | 3 |
QOMEGA
|
REXPORTS
|
20 | 0 |
QOMEGA
|
REXPORTS
|
10 | 1 |
QOMEGA
|
REXPORTS
|
80 | 2 |
QOMEGA
|
REXPORTS
|
40 | 3 |
QPSI
|
RPRICE
|
5 | 4 |
QOMEGA
|
RPRICE
|
20 | 4 |
QPSI
|
RPRICE
|
7 | 5 |
QOMEGA
|
RPRICE
|
18 | 5 |
qualifier_combination | qualifier_code | qualifier_value |
---|---|---|
0 | S.COUNTRY
|
Germany |
0 | S.YEAR
|
2015 |
1 | S.COUNTRY
|
France |
1 | S.YEAR
|
2015 |
2 | S.COUNTRY
|
Germany |
2 | S.YEAR
|
2016 |
3 | S.COUNTRY
|
France |
3 | S.YEAR
|
2016 |
4 | S.YEAR
|
2015 |
5 | S.YEAR
|
2016 |
The following example shows the entity code values in the code_to_entity.txt
file:
QPSI=Psi
QOMEGA=Omega
The following example shows the property code values in the code_to_property.txt
file:
S.YEAR=Year,string S.COUNTRY=Country,string RPRICE=Price,string REXPORTS=Exports,string
You can use this Fact Bank setup to answer questions such as:
Your Answer Server installation includes example files that allow you to test this setup. The example files are included in the sql_example
directory.
To use this example, you must have a PostgreSQL instance (running on PostgresHost
and PostgresPort
, with a user who has access to a factbank_example
database.
To set up the example
Restore the database from the factback_example.pgdump file into your PostgreSQL instance, by using a command of the following form:
psql -h PostgresHost -p PostgresPort -U UserName factbank_example < factbank_example.pgdump
In your Answer Server configuration file, configure a Fact Bank system to use the plain text coding files provided in the example, by setting the CodingsPath
parameter to point to the example coding files. For example:
[MyExampleFactBank] Type=factbank CodingsPath=C:\AnswerServer\sql_example ...
ConnectionString
to the appropriate connection string for your example database.EductionQuestionGrammars
parameters to the location of your FactBankEductionGrammar.ecr
, which is distributed with Answer Server.You can now use the Ask
action to ask the questions listed above and to check the responses.