|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectconverters.QueryProcessor
public class QueryProcessor
This class is part of the YAGO converters (http://mpii.de/yago). It is licensed under the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0) by the YAGO team (http://mpii.de/yago). If you use this class for scientific purposes, please cite our paper Fabian M. Suchanek, Gjergji Kasneci and Gerhard Weikum "Yago - A Core of Semantic Knowledge" (WWW 2007) This class implements a simple query processor for reification graphs as described in the Yago journal paper.
Nested Class Summary | |
---|---|
static class |
QueryProcessor.Column
Elements of a fact |
static class |
QueryProcessor.InvalidTripleException
Thrown for problems in a triple |
static class |
QueryProcessor.SQLCommand
Represents an sql command plus a sequence of variables |
static class |
QueryProcessor.Template
Represents a query template |
Field Summary | |
---|---|
int |
MAXSQLRES
maximal elements of an SQL query to retrieve |
static int |
varCounter
Counts fresh variables |
Constructor Summary | |
---|---|
QueryProcessor()
|
Method Summary | |
---|---|
static void |
addCondition(java.util.Collection<java.lang.String[]> conditions,
java.lang.String arg1,
java.lang.String arg2)
Adds "arg1=arg2" to a collection of conditions |
static void |
addSqlCondition(QueryProcessor.Template template,
int table,
java.util.Map<java.lang.String,java.lang.String> variables,
java.util.Collection<java.lang.String[]> conditions)
Adds a condition of the form "x=y" for a fact template |
static boolean |
checkVirtual(java.util.List<QueryProcessor.Template> templates,
java.util.Map<java.lang.String,java.lang.String> variables)
Checks the virtual relations in an answer |
static java.lang.String |
eatArg(java.lang.String template,
int[] len,
boolean tabSeparated)
Eats an argument from a query line |
static java.lang.String |
eatId(java.lang.String template,
int[] len)
Eats an id from a query line (or returns a fresh variable) |
static java.lang.String |
eatRelation(java.lang.String template,
int[] len,
boolean tabSeparated)
Eats a relation from a query line |
static void |
fromIniFile(java.io.File initFile)
reads the yago.ini file |
static boolean |
isSilentVariable(java.lang.String s)
Tells whether a string starts with "? |
static boolean |
isVariable(java.lang.String s)
Tells whether a string starts with "?" |
static void |
main(java.lang.String[] args)
|
static java.lang.String |
newSilentVariable(java.lang.String name)
returns a new silent variable |
static java.lang.String |
newVariable(java.lang.String name)
returns a variable with the given name |
static java.lang.String |
normalizeRelation(java.lang.String relationName)
Normalizes a relation name |
static void |
parseLine(java.util.List<QueryProcessor.Template> result,
java.lang.String line)
Adds templates to a list for a query line |
static void |
query()
Tests the Reification Query processor |
static void |
requestInformation()
request information instead of using yago.ini file |
static void |
resolveMeans(java.util.List<QueryProcessor.Template> templates)
Resolves MEANS and adds quotation marks where necessary |
javatools.datatypes.PeekIterator<java.util.Map<java.lang.String,java.lang.String>> |
solutions(java.util.List<QueryProcessor.Template> templates,
javatools.database.Database db)
Iterates over variable bindings for a list of templates |
java.util.Set<java.util.Map<java.lang.String,java.lang.String>> |
solutions(java.util.List<QueryProcessor.Template> templates,
javatools.database.Database db,
int n)
Returns up to n solutions for a query |
java.util.Iterator<java.util.Map<java.lang.String,java.lang.String>> |
solutions(java.lang.String[][] queryLines,
javatools.database.Database db)
Returns the solutions for a query |
java.util.Set<java.util.Map<java.lang.String,java.lang.String>> |
solutions(java.lang.String[][] queryLines,
javatools.database.Database db,
int n)
Returns up to n solutions for a query |
java.util.Iterator<java.util.Map<java.lang.String,java.lang.String>> |
solutions(java.lang.String query,
javatools.database.Database db)
Returns the solutions for a query |
java.util.Set<java.util.Map<java.lang.String,java.lang.String>> |
solutions(java.lang.String query,
javatools.database.Database db,
int n)
Returns up to n solutions for a query |
QueryProcessor.SQLCommand |
sqlFor(java.util.List<QueryProcessor.Template> templates,
javatools.database.Database db)
Returns an sqlcommand for a list of templates |
static java.lang.String |
sqlIdentifier(java.lang.String entity,
java.util.Map<java.lang.String,java.lang.String> variables,
int table,
QueryProcessor.Column column)
Returns e.g. |
static java.util.List<QueryProcessor.Template> |
templatesFor(java.lang.String input)
Returns templates for a query |
static java.util.List<QueryProcessor.Template> |
templatesFor(java.lang.String[][] queryLines)
returns templates for a list of 3-element query lines with implict ids ? |
static java.lang.String |
variableValue(java.lang.String variableName,
java.util.Map<java.lang.String,java.lang.String> variableValues)
Resolves a variable with respect to a mapping or returns the name itself |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public final int MAXSQLRES
public static int varCounter
Constructor Detail |
---|
public QueryProcessor()
Method Detail |
---|
public static java.lang.String normalizeRelation(java.lang.String relationName) throws QueryProcessor.InvalidTripleException
QueryProcessor.InvalidTripleException
public static boolean isVariable(java.lang.String s)
public static boolean isSilentVariable(java.lang.String s)
public static java.lang.String newSilentVariable(java.lang.String name)
public static java.lang.String newVariable(java.lang.String name)
public static java.lang.String variableValue(java.lang.String variableName, java.util.Map<java.lang.String,java.lang.String> variableValues)
public static java.lang.String sqlIdentifier(java.lang.String entity, java.util.Map<java.lang.String,java.lang.String> variables, int table, QueryProcessor.Column column)
public static void addCondition(java.util.Collection<java.lang.String[]> conditions, java.lang.String arg1, java.lang.String arg2)
public static void addSqlCondition(QueryProcessor.Template template, int table, java.util.Map<java.lang.String,java.lang.String> variables, java.util.Collection<java.lang.String[]> conditions)
public QueryProcessor.SQLCommand sqlFor(java.util.List<QueryProcessor.Template> templates, javatools.database.Database db) throws QueryProcessor.InvalidTripleException
QueryProcessor.InvalidTripleException
public static java.lang.String eatId(java.lang.String template, int[] len)
public static java.lang.String eatArg(java.lang.String template, int[] len, boolean tabSeparated)
public static java.lang.String eatRelation(java.lang.String template, int[] len, boolean tabSeparated)
public static void parseLine(java.util.List<QueryProcessor.Template> result, java.lang.String line) throws QueryProcessor.InvalidTripleException
QueryProcessor.InvalidTripleException
public static void resolveMeans(java.util.List<QueryProcessor.Template> templates)
public static java.util.List<QueryProcessor.Template> templatesFor(java.lang.String input) throws QueryProcessor.InvalidTripleException
QueryProcessor.InvalidTripleException
public static java.util.List<QueryProcessor.Template> templatesFor(java.lang.String[][] queryLines) throws QueryProcessor.InvalidTripleException
QueryProcessor.InvalidTripleException
public static boolean checkVirtual(java.util.List<QueryProcessor.Template> templates, java.util.Map<java.lang.String,java.lang.String> variables) throws QueryProcessor.InvalidTripleException
QueryProcessor.InvalidTripleException
public javatools.datatypes.PeekIterator<java.util.Map<java.lang.String,java.lang.String>> solutions(java.util.List<QueryProcessor.Template> templates, javatools.database.Database db) throws QueryProcessor.InvalidTripleException
QueryProcessor.InvalidTripleException
public java.util.Set<java.util.Map<java.lang.String,java.lang.String>> solutions(java.util.List<QueryProcessor.Template> templates, javatools.database.Database db, int n) throws QueryProcessor.InvalidTripleException
QueryProcessor.InvalidTripleException
public java.util.Iterator<java.util.Map<java.lang.String,java.lang.String>> solutions(java.lang.String query, javatools.database.Database db) throws QueryProcessor.InvalidTripleException
QueryProcessor.InvalidTripleException
public java.util.Set<java.util.Map<java.lang.String,java.lang.String>> solutions(java.lang.String query, javatools.database.Database db, int n) throws QueryProcessor.InvalidTripleException
QueryProcessor.InvalidTripleException
public java.util.Iterator<java.util.Map<java.lang.String,java.lang.String>> solutions(java.lang.String[][] queryLines, javatools.database.Database db) throws QueryProcessor.InvalidTripleException
QueryProcessor.InvalidTripleException
public java.util.Set<java.util.Map<java.lang.String,java.lang.String>> solutions(java.lang.String[][] queryLines, javatools.database.Database db, int n) throws QueryProcessor.InvalidTripleException
QueryProcessor.InvalidTripleException
public static void requestInformation() throws java.lang.Exception
java.lang.Exception
public static void main(java.lang.String[] args) throws java.lang.Exception
java.lang.Exception
public static void fromIniFile(java.io.File initFile) throws java.lang.Exception
java.lang.Exception
public static void query() throws java.lang.Exception
java.lang.Exception
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |