0% encontró este documento útil (0 votos)
184 vistas19 páginas

JPL

La clase Query representa una consulta Prolog en Java. Permite obtener soluciones de una consulta de manera iterativa a través de la interfaz Enumeration o mediante métodos como allSolutions y nSolutions que devuelven todas o las primeras n soluciones. Query también proporciona métodos para comprobar si una consulta tiene soluciones o para obtener solo la primera solución. Se puede crear una consulta a partir de un objetivo Prolog o sustituyendo variables en un objetivo por términos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
184 vistas19 páginas

JPL

La clase Query representa una consulta Prolog en Java. Permite obtener soluciones de una consulta de manera iterativa a través de la interfaz Enumeration o mediante métodos como allSolutions y nSolutions que devuelven todas o las primeras n soluciones. Query también proporciona métodos para comprobar si una consulta tiene soluciones o para obtener solo la primera solución. Se puede crear una consulta a partir de un objetivo Prolog o sustituyendo variables en un objetivo por términos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 19

http://www.swi-prolog.org/packages/jpl/java_api/javadoc/jpl/Query.

html
jpl
Clase Query
java.lang.Object
jpl.Query
Todas las interfaces implementadas:
java.util.Enumeration

public class Query
extiende java.lang.Object
implementa java.util.Enumeration
Una instancia de consulta se crea una aplicacin para consultar la base de
datos Prolog (o para invocar un predicado incorporado). Se inicializa con un
compuesto (o Atom) denota el objetivo que se va a llamar, y tambin contiene
el estado privado surtido en relacin con las soluciones. En una versin futura,
puede contener detalles del mdulo en el que el objetivo es que la llamen.
Una consulta es abierta o cerrada: cuando est cerrado, no tiene ninguna
conexin con el sistema Prolog; cuando est abierto, que est vinculada a un
objetivo activo dentro de un motor de Prolog.
La clase Query implementa la interfaz Enumeration, a travs del cual se
pueden obtener soluciones sucesivas. El mtodo de los hasMoreElements
Enumeracin () devuelve true si la llamada o rehacer xito (de lo contrario
false), y si la llamada o rehacer tuvieron xito, el mtodo nextElement ()
devuelve un Hashtable que representa asignaciones de variables; los
elementos de Hashtable son trminos indexados por los (String) nombres de
las variables con las que estn asociados. Por ejemplo, si p (a) y p (b) son
hechos en la base de datos Prolog, entonces lo siguiente es equivalente a la
impresin de todas las soluciones a la consulta Prolog p (X) :
Variable X = new Variable ("X");
Arg Term [] = {X};
Q = new Query Query ("p", arg);

mientras que (q.hasMoreElements ()) {
Plazo bound_to_x = ((Hashtable) q.nextElement ()) get ("X").;
System.out.println (bound_to_x);
}

Asegrese de cerrar la consulta (mediante el cierre (mtodo)) si usted no
necesita ninguna solucin adicional que pueda tener. Es seguro (aunque
redundante) para cerrar una consulta cuyas soluciones ya estn agotados o que
ya est cerrado. Para obtener slo una solucin a partir de una consulta, utilice
el mtodo () OneSolution. Para obtener todas las soluciones, utilice el mtodo
() allSolutions. Para obtener en la mayora de las soluciones de N, utilice el
mtodo () nSolutions. Para determinar nicamente si la consulta es
demostrable, utilice el hasSolution () mtodo (es decir, tiene al menos una
solucin).

Copyright (C) 2007 Paul Singleton
Copyright (C) 1998 Fred Dushin
Esta biblioteca es software libre; usted puede redistribuirlo y / o modificarlo
bajo los trminos de la GNU Public Library, publicada por la Fundacin
para el Software Libre; ya sea la versin 2 de la Licencia, o (a su eleccin)
cualquier versin posterior.
Esta biblioteca se distribuye con la esperanza de que sea til, pero SIN
NINGUNA GARANTA; ni siquiera la garanta implcita de
COMERCIALIZACIN o IDONEIDAD PARA UN PROPSITO
PARTICULAR. Vea la Licencia Pblica Biblioteca GNU para ms detalles.


Resumen Constructor
Query (texto java.lang.String)
Este constructor crea una consulta en el texto fuente Prolog dado.

Query (texto java.lang.String, plazo arg)


Query (texto java.lang.String, Term [] args)
Si el texto denota un tomo, este constructor es la abreviatura
de nueva consulta (nuevo compuesto (nombre, args)) ,
pero si el texto denota smbolos, un trmino que contiene la consulta N (?) y
hay N args, cada consulta se sustituye por su arg correspondiente para
proporcionar la meta de la nueva consulta.

Query ( Term t)
Este constructor crea una consulta cuyo objetivo es el plazo
especificado.


Resumen Mtodo
int
abortar ()

java.util.Hashtable
[]
allSolutions ()
llama a la meta de la consulta hasta el
agotamiento y devuelve un conjunto de cero o ms
tablas hash de cero o ms enlaces-nombrevariable-a
plazo (cada Hashtable representa una solucin, en el
orden en el que fueron encontrados).
esttica
java.util.Hashtable
[]
allSolutions (texto java.lang.String)
Este mtodo esttico crea una consulta en el
fragmento de texto de origen Prolog dado, llama al
agotamiento, y devuelve un conjunto de cero o ms
tablas hash de cero o ms enlaces-nombrevariable-a
plazo (cada Hashtable representa una solucin, en el
orden en el que fueron encontrados).
esttica
java.util.Hashtable
[]
allSolutions (texto java.lang.String, Term []
params)
Si el texto indica (en la sintaxis tradicional
fuente de Prolog) un trmino que contiene N de
interrogacin (?) smbolos y hay N acompaando
params plazo, este mtodo esttico sustituye cada
smbolo de interrogacin por su respectiva param,
llama a la meta resultante hasta el agotamiento, y
devuelve un conjunto de cero o ms tablas hash de
cero o ms enlaces-nombrevariable-a plazo (cada
Hashtable representa una solucin, en el orden en el
que fueron encontrados).
esttica
java.util.Hashtable
[]
allSolutions ( Term arco)
Este mtodo esttico crea una consulta cuyo
objetivo es el trmino dado, lo llama hasta el
agotamiento, y devuelve un conjunto de cero o ms
tablas hash de cero o ms enlaces-nombrevariable-a
plazo (cada Hashtable representa una solucin, en el
orden en el que fueron encontrados).
Plazo [] args ()
Desaprobado. uso. portera (). args () en lugar.
vaco
Cerrar ()
Este mtodo se puede utilizar para cerrar una
consulta abierta antes de que se agoten sus soluciones.
java.lang.String
debugString ()
Desaprobado.
java.util.Hashtable
getSolution ()
Este mtodo devuelve un java.util.Hashtable, lo
que representa un conjunto de enlaces de los nombres
de variables de consulta a un acuerdo dentro de la
solucin.
java.util.Hashtable
getSubstWithNameVars ()

Compuesto objetivo ()
Devuelve el Compuesto (de ah tal vez un
tomo), que es el objetivo de esta consulta
boolean
hasMoreElements ()
Este mtodo implementa parte de la interfaz
java.util.Enumeration.
boolean
hasMoreSolutions ()
Este mtodo devuelve true si el JPL fue capaz de
iniciar una "llamada" de esta consulta en un motor de
Prolog.
boolean
hasSolution ()
Este mtodo intentar llamar a la meta de esta
consulta en un motor Prolog disponible.
static boolean
hasSolution (texto java.lang.String)
Este mtodo esttico crea una consulta en el
texto fuente Prolog dado y lo llama como mximo una
vez, devolviendo true si se ha encontrado una solucin,
de lo falso.
static boolean
hasSolution (texto java.lang.String, Term []
params)
Si denotan texto (en la sintaxis tradicional fuente
de Prolog) un trmino que contiene N de interrogacin
(?) smbolos y hay N params, cada smbolo de
interrogacin se reemplaza por su arg correspondiente
para proporcionar el nuevo objetivo de la consulta: la
consulta resultante se llama como se describi
anteriormente.
static boolean
hasSolution ( Term gol)
Este mtodo esttico crea una consulta (cuyo
objetivo es el plazo especificado) y lo llama como
mximo una vez, devolviendo true si se ha encontrado
una solucin, de lo falso.
boolean
isOpen ()
isOpen () devuelve verdadero si y slo si la
consulta est abierta.
java.lang.String
Nombre ()
Desaprobado. uso. portera (). name () en su
lugar.
java.lang.Object
nextElement ()
Este mtodo implementa parte de la interfaz
java.util.Enumeration.
java.util.Hashtable
nextSolution ()
Este mtodo devuelve un java.util.Hashtable, lo
que representa una unin de los nombres de variables
de consulta a un acuerdo dentro de la solucin.
java.util.Hashtable
[]
nSolutions (long n)
llama a la meta de la consulta hasta el
agotamiento o hasta que se encuentren soluciones N, lo
que ocurra primero, y devuelve una matriz que
contiene (como posiblemente Hashtables vacas de
enlaces-nombrevariable-a plazo) de cada solucin
encontrada (en el orden en que se se encontraron).
esttica
java.util.Hashtable
[]
nSolutions (texto java.lang.String, larga n)
Este mtodo esttico crea una consulta en el
fragmento de texto de origen Prolog dado, llama al
agotamiento o hasta que se encuentren soluciones N, lo
que ocurra primero, y devuelve una matriz que
contiene (como posiblemente vaca Hashtables de-
nombrevariable-a trmino enlaces) cada solucin
encontrada (en el orden en el que fueron encontrados).
esttica
java.util.Hashtable
[]
nSolutions (texto java.lang.String, Term []
params, larga n)
Si el texto indica (en la sintaxis tradicional
fuente de Prolog), un trmino que contiene N de
interrogacin (?) smbolos y hay N params
acompaan, este mtodo esttico sustituye cada
smbolo de interrogacin por su respectivo param,
llama a la meta como resultado del agotamiento o
hasta que las soluciones de N se encuentran, lo que
ocurra primero, y devuelve una matriz que contiene
(como posiblemente Hashtables vacas de enlaces-
nombrevariable-a plazo) de cada solucin encontrada
(en el orden en que se se encontraron).
esttica
java.util.Hashtable
[]
nSolutions ( Term objetivo, a largo n)
Este mtodo esttico crea una consulta cuyo
objetivo es el trmino dado, lo llama al agotamiento o
hasta que se encuentren soluciones N, lo que ocurra
primero, y devuelve una matriz que contiene (como
posiblemente vaca Hashtables de nombrevariable a
Plazo enlaces) cada solucin encontrada (en el orden
en el que fueron encontrados).
java.util.Hashtable
OneSolution ()
Devuelve la primera solucin, si existe, como
(posiblemente vaca) Hashtable de enlaces-
nombrevariable-a trmino, de lo nulo.
esttica
java.util.Hashtable
OneSolution (texto java.lang.String)
Este mtodo esttico crea una consulta en el
fragmento de texto de origen Prolog dado, y lo llama
como mximo una vez, volviendo la primera solucin,
si es que existe, como (posiblemente vaca) Hashtable,
de lo nulo .
esttica
java.util.Hashtable
OneSolution (texto java.lang.String, Term []
params)
Si el texto indica (en la sintaxis tradicional
fuente de Prolog) smbolos de un plazo que contiene N
de interrogacin (?) y hay N params, cada smbolo de
interrogacin se sustituye por su respectivo param para
proporcionar el objetivo de esta consulta: el objetivo
resultante se llama entonces (una vez como mximo) y
la primera solucin, si es que existe, se devuelve como
(posiblemente vaca) Hashtable, de lo nulo.
esttica
java.util.Hashtable
OneSolution ( Term gol)
Este mtodo esttico crea una consulta (cuyo
objetivo es el plazo especificado) y lo llama como
mximo una vez, volviendo la primera solucin, si es
que existe, como (posiblemente vaca) Hashtable, de lo
nulo.
vaco
abierta ()
Este mtodo devuelve true si el JPL fue capaz de
iniciar una "llamada" de esta consulta en el motor
Prolog.
boolean
query ()
en desuso. uso. hasSolution () en su lugar.
vaco
rewind ()

java.lang.String
toString ()
Devuelve una representacin de cadena de crudo
de una consulta.

Mtodos heredados de la clase java.lang.Object
es igual, getClass, hashCode, notifique, notifyAll, espera, espera,
espera

Informacin sobre constructores
Pregunta
pblica Query ( Term t)
Este constructor crea una consulta cuyo objetivo es el plazo
especificado. La consulta est inicialmente cerrado. NB Creacin de
una instancia de la clase Query no se traduce en una llamada a un motor
Prolog. NBLa meta puede ser un compuesto o un Atom (Atom extiende
Compuesto), pero no puede ser una instancia de jpl.Float , jpl.Integer o
jpl.Variable.
Parmetros:
t - el objetivo de esta consulta

Pregunta
pblica Query (texto java.lang.String,
Term [] args)
Si el texto denota un tomo, este constructor es la abreviatura
de nueva consulta (nuevo compuesto (nombre,
args)) , pero si el texto denota smbolos, un trmino que contiene la
consulta N (?) y hay N args, cada consulta se reemplaza por su
correspondiente arg para proporcionar la meta de la nueva consulta.
Parmetros:
texto - el nombre del funtor principal objetivo de esta consulta
args - los argumentos de la meta de este Query

Pregunta
pblica Query (texto java.lang.String,
plazo arg)

Pregunta
pblica Query (texto java.lang.String)
Este constructor crea una consulta en el texto fuente Prolog
dado. Lanza PrologException contiene error (syntax_error (_) _) si el
texto no es vlido.
Parmetros:
texto - el texto de origen Prolog de esta consulta
Informacin sobre mtodos
nombre
java.lang.String public final nombre ()
En desuso. uso. portera (). name () en su lugar.
Devoluciones:
el nombre del objetivo de esta consulta (redundante, en desuso)

args
public final Plazo [] args ()
En desuso. Utilice. portera (). args () en lugar.
Devoluciones:
los argumentos de la meta de esta consulta (redundante, en desuso)

meta
public final compuesto objetivo ()
Devuelve el Compuesto (de ah tal vez un tomo), que es el objetivo de
esta consulta
Devoluciones:
un trmino que representa el objetivo de esta consulta

isOpen
boolean public final isOpen ()
isOpen () devuelve verdadero si y slo si la consulta est abierta.
Devoluciones:
true si la consulta es abierta, de lo contrario falso.

hasMoreSolutions
boolean public final hasMoreSolutions ()
Este mtodo devuelve true si el JPL fue capaz de iniciar una "llamada"
de esta consulta en un motor de Prolog. Est diseado para ser utilizado
con el mtodo nextSolution () para recuperar una o ms sustituciones
en la forma de tablas hash. Para recorrer todas las soluciones a una
consulta, por ejemplo, se podra escribir
Q Query = / / conseguir Referencia Query
mientras que (q.hasMoreSolutions ()) {
Solucin Hashtable = q.nextSolution ();
/ Solucin / proceso ...
}

Para garantizar la seguridad para subprocesos, se debe envolver las
llamadas secuenciales a este mtodo en un bloque sincronizado, usando
el mtodo de bloqueo esttico para obtener el monitor.
Q Query = / / conseguir Referencia Query
sincronizado (jpl.Query.lock ()) {
mientras que (q.hasMoreElements ()) {
Solucin Hashtable = q.nextSolution ();
/ Solucin / proceso ...
}
}

Devoluciones:
true si la consulta Prolog tiene xito; false en caso contrario.

abierto
public final void abierta ()
Este mtodo devuelve true si el JPL fue capaz de iniciar una "llamada"
de esta consulta en el motor Prolog. Est diseado para ser utilizado
con el getSolution () y mtodos close () para recuperar una o ms
sustituciones en la forma de tablas hash.
Q Query = / / conseguir Referencia Query
Soln Hashtable;
q.open ();
while ((soln = q.getSolution ())! = null) {
/ Solucin / proceso ...
}

Si se llama a este mtodo en una consulta ya abierta, o si la consulta no
se puede configurar para cualquier razn, entonces se producir una
JPLException.

getSolution
pblica final java.util.Hashtable getSolution ()
Este mtodo devuelve un java.util.Hashtable, lo que representa un
conjunto de enlaces de los nombres de variables de consulta a un
acuerdo dentro de la solucin.
Por ejemplo, si una consulta tiene una ocurrencia de un jpl.Variable,
por ejemplo, el nombre "X", se puede obtener el trmino de lmite a
"X" en la solucin por mirar hacia arriba "X" en el Hashtable.
Variable x = new Variable ("X");
Q Query = / / conseguir referencia de consulta (con x en la
matriz Plazo)
mientras que (q.hasMoreSolutions ()) {
Solucin Hashtable = q.nextSolution ();
/ / Hacer t el plazo obligado a "X" en la solucin
Plazo t = (Term) solution.get ("X");
/ / ...
}

Los programadores deben obedecer las siguientes reglas cuando se
utiliza este mtodo.
El mtodo nextSolution () slo se debe llamar despus de las
hasMoreSolutions (Mtodo) devuelve true; de lo contrario un
JPLException se incrementar, lo que indica que la consulta ya
no est abierto.
El nextSolution () y hasMoreSolutions () deben ser llamados
en el mismo hilo de ejecucin, para una instancia de consulta
dada.
Este mtodo lanza una consulta JPLException si no est abierta.
Devoluciones:
Un Hashtable que representa un cambio, o null

getSubstWithNameVars
java.util.Hashtable finales pblicos getSubstWithNameVars ()

nextSolution
pblica final java.util.Hashtable nextSolution ()
Este mtodo devuelve un java.util.Hashtable, lo que representa una
unin de los nombres de variables de consulta a un acuerdo dentro de la
solucin.
Por ejemplo, si una consulta tiene una ocurrencia de un jpl.Variable,
por ejemplo, el nombre "X", se puede obtener el trmino de lmite a
"X" en la solucin por mirar hacia arriba "X" en el Hashtable.
Variable x = new Variable ("X");
Q Query = / / conseguir referencia de consulta (con x en la
matriz Plazo)
mientras que (q.hasMoreSolutions ()) {
Solucin Hashtable = q.nextSolution ();
/ / Hacer t el plazo obligado a "X" en la solucin
Plazo t = (Term) solution.get ("X");
/ / ...
}

Los programadores deben obedecer las siguientes reglas cuando se
utiliza este mtodo.
El mtodo nextSolution () slo se debe llamar despus de las
hasMoreSolutions (Mtodo) devuelve true; de lo contrario un
JPLException se incrementar, lo que indica que la consulta ya
no est abierto.
El nextSolution () y hasMoreSolutions () deben ser llamados
en el mismo hilo de ejecucin, para una instancia de consulta
dada.
Este mtodo lanza una consulta JPLException si no est abierta.
Devoluciones:
Un Hashtable que representa una sustitucin.

hasMoreElements
boolean public final hasMoreElements ()
Este mtodo implementa parte de la interfaz java.util.Enumeration. Es
un contenedor para hasMoreSolutions.
Especificado por:
hasMoreElements en interfaz java.util.Enumeration
Devoluciones:
true si la consulta Prolog produce una (u otra) solucin, de lo falso.

nextElement
final public java.lang.Object nextElement ()
Este mtodo implementa parte de la interfaz java.util.Enumeration. Es
un contenedor para nextSolution.
Especificado por:
nextElement interfaz java.util.Enumeration
Devoluciones:
Un Hashtable que representa una sustitucin.

rebobinar
public final void rewind ()

cerca
public final void close ()
Este mtodo se puede utilizar para cerrar una consulta abierta antes de
que se agoten sus soluciones. Se llama automticamente cuando se
hayan agotado las soluciones, es decir, cuando hasMoreSolutions ()
falla.Llamar a close () en la ya cerrada Query es inofensivo (no tiene
efecto).
Aqu est una manera de conseguir los primeros tres soluciones a una
consulta:
Q = new Query Query (predicado, args);
Sub1 Hashtable = (Hashtable) q.nextSolution ();
Sub2 Hashtable = (Hashtable) q.nextSolution ();
Sub3 Hashtable = (Hashtable) q.nextSolution ();
q.close ();


allSolutions
java.util.Hashtable [] public final allSolutions ()
pide el objetivo de la consulta hasta el agotamiento y devuelve un
conjunto de cero o ms tablas hash de cero o ms enlaces-
nombrevariable-a plazo (cada Hashtable representa una solucin, en el
orden en el que fueron encontrados).
Devoluciones:
un conjunto de cero o ms tablas hash de cero o ms enlaces-
nombrevariable-a plazo (cada Hashtable representa una solucin, en el
orden en el que fueron encontrados) NB en JPL 1.0.1, este mtodo
(inconsistente) devuelve null cuando una consulta no tena
soluciones; en JPL 2.x en adelante devuelve una matriz vaca (por lo
tanto la longitud de la matriz es, en todos los casos, la cantidad de
soluciones).
NB en JPL 1.0.1, fijaciones que se haya tecleado (torpemente) por
instancias de variables; en JPL 2.x en adelante que estn codificados
por los (String) los nombres de las variables, lo cual es consistente con
el tipo Term ser slo una sintaxis concreta de trminos (y por lo tanto
las consultas).

allSolutions
public static java.util.Hashtable definitiva [] allSolutions (
Term gol)
Este mtodo esttico crea una consulta cuyo objetivo es el trmino
dado, lo llama hasta el agotamiento, y devuelve un conjunto de cero o
ms tablas hash de cero o ms enlaces-nombrevariable-a plazo (cada
Hashtable representa una solucin, en el orden en que se se
encontraron). Lanza JPLException si el objetivo no es ni una ni
jpl.Atom jpl.Compound.
Parmetros:
objetivo - el objetivo de esta consulta
Devoluciones:
un conjunto de cero o ms tablas hash de cero o ms enlaces-
nombrevariable-a plazo (cada Hashtable representa una solucin, en el
orden en el que fueron encontrados)

allSolutions
java.util.Hashtable [] public static final allSolutions (texto
java.lang.String)
Este mtodo esttico crea una consulta en el fragmento de texto de
origen Prolog dado, llama al agotamiento, y devuelve un conjunto de
cero o ms tablas hash de cero o ms enlaces-nombrevariable-a plazo
(cada Hashtable representa una solucin, en el orden en que que se
encontraron). Lanza PrologException contiene error (syntax_error (_)
_) si el texto no es vlido.
Parmetros:
texto - un fragmento de texto de origen Prolog que denota una meta
Devoluciones:
un conjunto de cero o ms tablas hash de cero o ms enlaces-
nombrevariable-a plazo (cada Hashtable representa una solucin, en el
orden en el que fueron encontrados)

allSolutions
java.util.Hashtable [] public static final allSolutions (texto
java.lang.String,
Term []
params)
Si el texto indica (en la sintaxis tradicional fuente de Prolog) un
trmino que contiene N de interrogacin (?) Smbolos y hay N
acompaando params plazo, este mtodo esttico sustituye cada
smbolo de interrogacin por su respectivo param, llama a la meta
resultante hasta el agotamiento, y devuelve una tabla de cero o ms
tablas hash de cero o ms enlaces-nombrevariable-a plazo (cada
Hashtable representa una solucin, en el orden en el que fueron
encontrados). De lo contrario, si el texto denota un tomo, este mtodo
esttico crea una consulta donde el texto es el nombre de la meta y
params son los argumentos; el objetivo resultante se llama entonces
como arriba. Este modo de letras es redundante, obsoleto (informal), y
retenido slo por compatibilidad con versiones anteriores.
Parmetros:
texto - el texto de origen Prolog de un objetivo, en la que
questionmarks se consideran parmetros substitutible
params - Trminos de ser sustituidos por los respectivos questionmarks
en el texto de la consulta
Devoluciones:
un conjunto de cero o ms tablas hash de cero o ms enlaces-
nombrevariable-a plazo (cada Hashtable representa una solucin, en el
orden en el que fueron encontrados)

nSolutions
java.util.Hashtable public final [] nSolutions (a largo n)
pide el objetivo de la consulta hasta el agotamiento o hasta que las
soluciones de N se encuentran, lo que ocurra primero, y devuelve una
matriz que contiene (como posiblemente Hashtables vacas de enlaces-
nombrevariable-a plazo) de cada solucin encontrada (en el orden en el
que fueron encontrados).
Devoluciones:
un conjunto de tablas hash (posiblemente ninguno), cada uno de los
cuales es una solucin (en el orden en el que se encontraron) de la
consulta; como mximo 'n' soluciones sern encontradas y
devueltas. NBen JPL 1.0.1, este mtodo (inconsistente) devuelto nulo
cuando una consulta no tena soluciones; en JPL 2.x en adelante
devuelve una matriz vaca (por lo tanto la longitud de la matriz es, en
todos los casos, la cantidad de soluciones).
NB en JPL 1.0.1, fijaciones que se haya tecleado (torpemente) por
instancias de variables; en JPL 2.x en adelante que estn codificados
por los (String) los nombres de las variables, lo cual es consistente con
el tipo Term ser slo una sintaxis concreta de trminos (y por lo tanto
las consultas).

nSolutions
public static java.util.Hashtable definitiva [] nSolutions (
Term meta,
larga n)
Este mtodo esttico crea una consulta cuyo objetivo es el trmino
dado, lo llama al agotamiento o hasta que se encuentren soluciones N,
lo que ocurra primero, y devuelve una matriz que contiene (como
posiblemente vaca Hashtables de enlaces-nombrevariable-a plazo) de
cada solucin encontrada ( en el orden en el que se encontraron). Lanza
JPLException si el objetivo no es ni una ni jpl.Atom jpl.Compound.
Parmetros:
objetivo - el objetivo de esta consulta

nSolutions
public static java.util.Hashtable definitiva [] nSolutions (texto
java.lang.String,
larga n)
Este mtodo esttico crea una consulta en el fragmento de texto de
origen Prolog dado, llama al agotamiento o hasta que se encuentren
soluciones N, lo que ocurra primero, y devuelve una matriz que
contiene (como posiblemente vaca Hashtables de enlaces-
nombrevariable-a plazo) de cada solucin encontrada (en el orden en el
que se encontraron). Lanza PrologException contiene error
(syntax_error (_) _) si el texto no es vlido.
Parmetros:
texto - un fragmento de texto de origen Prolog que denota una meta

nSolutions
public static java.util.Hashtable definitiva [] nSolutions (texto
java.lang.String,
Term [] params,
larga n)
Si el texto indica (en la sintaxis tradicional fuente de Prolog) smbolos
de un plazo que contiene N de interrogacin (?) Y hay N params
acompaan, este mtodo esttico sustituye cada smbolo de
interrogacin por su respectivo param, llama a la meta como resultado
del agotamiento o hasta que las soluciones de N se encuentran , lo que
ocurra primero, y devuelve una matriz que contiene (como
posiblemente Hashtables vacas de enlaces-nombrevariable-a plazo) de
cada solucin encontrada (en el orden en el que fueron
encontrados). De lo contrario, si el texto denota un tomo, este mtodo
esttico crea una consulta donde el texto es el nombre de la meta y
params son los argumentos; el objetivo resultante se llama entonces
como arriba. Este ltimo modo es redundante, obsoleto (informal), y
retenido slo por compatibilidad con versiones anteriores.
Parmetros:
texto - el texto de origen Prolog de un objetivo, en la que
questionmarks se consideran parmetros substitutible
params - Trminos de ser sustituidos por los respectivos questionmarks
en el texto de la consulta

OneSolution
pblica final java.util.Hashtable OneSolution ()
Devuelve la primera solucin, si existe, como (posiblemente vaca)
Hashtable de enlaces-nombrevariable-a trmino, de lo nulo. Este
mtodo lanzar una JPLException Si esta consulta ya est abierto (y la
consulta permanecer abierta como antes). De lo contrario, a su regreso,
la consulta se cerrar.
Devoluciones:
la primera solucin, si la consulta tiene una, como (posiblemente vaca)
Hashtable. Si el valor devuelto es nulo, esto significa que la consulta no
tiene soluciones.

OneSolution
java.util.Hashtable public static final OneSolution ( Term gol)
Este mtodo esttico crea una consulta (cuyo objetivo es el plazo
especificado) y lo llama como mximo una vez, volviendo la primera
solucin, si es que existe, como (posiblemente vaca) Hashtable, de lo
nulo. El objetivo puede ser un jpl.Atom o jpl.Compound, pero no puede
ser una instancia de jpl.Float, jpl.Integer o jpl.Variable.
Parmetros:
objetivo - el objetivo de esta consulta

OneSolution
pblico static final java.util.Hashtable OneSolution (texto
java.lang.String)
Este mtodo esttico crea una consulta en el fragmento de texto de
origen Prolog dado, y lo llama como mximo una vez, volviendo la
primera solucin, si es que existe, como (posiblemente vaca)
Hashtable, de lo nulo. Lanza PrologException contiene error
(syntax_error (_) _) si el texto no es vlido.
Parmetros:
texto - un fragmento de texto de origen Prolog que denota una meta

OneSolution
pblico static final java.util.Hashtable OneSolution (texto
java.lang.String,
Term [] params)
Si el texto indica (en la sintaxis tradicional fuente de Prolog) un
trmino que consta de N smbolos de interrogacin y hay N params,
cada smbolo de interrogacin se sustituye por su respectivo param para
proporcionar el objetivo de esta consulta (?): El objetivo que resulta se
llama entonces (en ms de una vez) y la primera solucin, si es que
existe, se devuelve como (posiblemente vaca) Hashtable, de lo
nulo. De lo contrario, si el texto denota un tomo, este mtodo esttico
crea una consulta donde el texto es el nombre de la meta y params son
los argumentos; el objetivo resultante se llama entonces como
arriba. Este ltimo modo es redundante, obsoleto (informal), y retenido
slo por compatibilidad con versiones anteriores.
Parmetros:
texto - el texto de origen Prolog de un objetivo, en la que
questionmarks se consideran parmetros substitutible
params - Trminos de ser sustituidos por los respectivos questionmarks
en el texto de la consulta

pregunta
boolean public final query ()
En desuso. . Utilice hasSolution () en su lugar.
Este mtodo intentar llamar a la meta de esta consulta en un motor
Prolog disponible.
Devoluciones:
la demostrativa de la consulta, es decir, 'true' si tiene al menos una
solucin, 'false' si la llamada falla, sin encontrar una solucin.
Slo la primera solucin (si la hay) se encontrarn; cualquier enlace
sern descartados, y la consulta se cerrarn.
Este mtodo lanzar una JPLException Si esta consulta ya est abierto.

hasSolution
boolean public final hasSolution ()
Este mtodo intentar llamar a la meta de esta consulta en un motor
Prolog disponible.
Devoluciones:
la demostrativa de la consulta, es decir, 'true' si tiene al menos una
solucin, 'false' si la llamada falla, sin encontrar una solucin.
Slo la primera solucin (si la hay) se encontrarn; cualquier enlace
sern descartados, y la consulta se cerrarn.
Este mtodo lanzar una JPLException Si esta consulta ya est abierto.

hasSolution
public static boolean definitiva hasSolution ( Term gol)
Este mtodo esttico crea una consulta (cuyo objetivo es el plazo
especificado) y lo llama como mximo una vez, devolviendo true si se
ha encontrado una solucin, de lo falso. El objetivo puede ser un
jpl.Atom o jpl.Compound, pero no puede ser una instancia de jpl.Float,
jpl.Integer o jpl.Variable.
Parmetros:
objetivo - el objetivo de esta consulta

hasSolution
boolean public static final hasSolution (texto java.lang.String)
Este mtodo esttico crea una consulta en el texto fuente Prolog dado y
lo llama como mximo una vez, devolviendo true si se ha encontrado
una solucin, de lo falso. Lanza PrologException contiene error
(syntax_error (_) _) si el texto no es vlido.
Parmetros:
texto - el objetivo de esta consulta, como texto fuente Prolog

hasSolution
boolean public static final hasSolution (texto java.lang.String,
Term [] params)
(?) Si el texto indica (en la sintaxis tradicional fuente de Prolog) un
trmino que contiene N de interrogacin smbolos y hay N params,
cada smbolo de interrogacin se reemplaza por su arg correspondiente
para proporcionar el nuevo objetivo de la consulta: la consulta
resultante se llama como se describi anteriormente. De lo contrario, si
el texto denota un tomo, este mtodo esttico crea una consulta donde
el texto es el nombre de su objetivo y args son sus argumentos; A
continuacin, llama este objetivo (una vez como mximo) y devuelve
true si se ha encontrado una solucin, de lo falso. Este ltimo modo es
redundante, obsoleto (informal), y retenido slo por compatibilidad con
versiones anteriores.
Parmetros:
texto - el texto de origen Prolog de un objetivo, en la que
questionmarks se consideran parmetros substitutible
params - Trminos de ser sustituidos por los respectivos questionmarks
en el texto de la consulta

abortar
public int ltimo aborto ()

toString
public java.lang.String toString ()
Devuelve una representacin de cadena de crudo de una consulta.
Anulaciones:
toString de la clase java.lang.Object
Devoluciones:
una representacin de cadena de crudo de una consulta

debugString
public java.lang.String debugString ()
En desuso.
Devuelve una representacin-debug amistosa de una consulta
Devoluciones:
una representacin-debug amistosa de una consulta

También podría gustarte