Control de Consultas
Esta sección especifica aquellos aspectos del API JAXR que tratan con las consultas de registros para allar entradas de
registro (metadada) o ítems de repositorio (contenido). Los interfaces de control de consultas están diseñados para ser
usados por cualquier usuario del registro no privilegiado, normalmente a través de un cliente JAXR especializado, como un
Navegador de Registro o un agente web inteligente (asistente digital).
El API proporciona un interface QueryManager común, así como dos subinterfaces
especializados:
- Interface BusinessQueryManager
- Interface SQLQueryManager
Interface BusinessQueryManager
El interface BusinessQueryManager proporciona un API simple de nivel de negocios
que proporciona la habilidad de consultar por los interfaces de alto nivel más importantes en el modelo de información.
Estos interfaces de alto nivel incluyen:
- Interface Organization
- Interface Service
- Interface ServiceBinding
- Interface Concept
Capacidad Nivel: 0
Se requiere que ese interface sea implementado por todos los proveedores JAXR.
| Sumario de Métodos |
|
findConceptsByName(java.util.Collection namePatterns,
LexicalQualifier lexicalQualifier,
SortQualifier sortQualifier) |
Busca todos los Concepts que corresponden con cualquiera de los
namePatterns especificados. |
findOrganizationsByClassificationConcepts(java.util.Collection
classificationConcepts,
SortQualifier sortQualifier) |
Busca todas las Organizations que corresponden con todos los
Concepts de clasificación especificados. |
findOrganizationsByExternalIdentifiers(java.util.Collection
externalIdentifiers,
SortQualifier sortQualifier) |
Busca todas las Organizations que corresponden con cualquiera de los
externalIdentifiers especificados. |
findOrganizationsByExternalLink(java.util.Collection externalLinks,
SortQualifier sortQualifier) |
Busca todas las Organizations que sean anotadas por cualquiera de los
externalLinks especificados. |
findOrganizationsByName(java.util.Collection namePatterns,
LexicalQualifier lexicalQualifier,
SortQualifier sortQualifier) |
Busca todas las Organizations que correspondan con cualquiera de los
namePatterns especificados. |
findOrganizationsBySpecificationConcepts(java.util.Collection
specificationConcepts,
SortQualifier sortQualifier) |
Busca todas las Organizations que correspondan con todas las especificaciones de
Concepts especificadas. |
findRootConceptsByName(java.util.Collection namePatterns,
LexicalQualifier lexicalQualifier,
SortQualifier sortQualifier) |
Busca todos los Concepts raíz que correspondan con cualquier
namePatterns especificado. |
findServiceBindingsByName(java.util.Collection namePatterns,
Key serviceKey, LexicalQualifier lexicalQualifier,
SortQualifier sortQualifier) |
Busca todos los ServiceBindings que correspondan con cualquiera de los
namePatterns especificados. |
findServiceBindingsBySpecificationConcepts(java.util.Collection
specificationConcepts, Key serviceKey,
SortQualifier sortQualifier) |
Busca todos los ServiceBindings que correspondan con todas las especificaciones de
Concepts especificadas. |
findServicesByClassificationConcepts(java.util.Collection class
ificationConcepts, Key orgKey,
SortQualifier sortQualifier) |
Busca todos los Services que correspondan con todas las especificaciones de
Concepts especificadas. |
findServicesByName(java.util.Collection namePatterns,
Key orgKey, LexicalQualifier LexicalQualifier,
SortQualifier sortQualifier) |
Busca todos los Services que correspondan con cualquier
namePatterns especificado. |
findServicesBySpecificationConcepts(java.util.Collection specif
icationConcepts, Key orgKey,
SortQualifier sortQualifier) |
Busca todos los Services que correspondan con todas las especificaciones de
Concepts especificadas. |
Métodos Find
El interface BusinessQueryManager define un conjunto de métodos
find, uno por cada interface clave y una combinación de criterios de búsqueda. Cada método
find puede devolver varios objetos del tipo asociado al método que correspondan con
los criterios de búsqueda especificados.
Cualificadores Léxicos
Los métodos find que realizan correspondencias String
basadas en patrones toman un parámetro LexicalQualifier. El cliente podría utilizar un
cualificador léxico para especificar las preferencias de correspondencia léxica (por ejemplo, correspondencia o no de
las mayúsculas y minúsculas).
Cualificadores de Ordenación
Todos los métodos find toman un parámetro SortQualifier.
El cliente podría usar un cualificador de ordenación para especificar preferencias de ordenación para el resultado del
meodo find (por ejemplo, ordenar por el nombre en orden ascendente). Un cualificador
de ordenación especifica el orden de ordenación ascendente o descendente, así como el campo de ordenación. Realmente
un campo de ordenación sólo podría por el nombre o el sello de la fecha.
Parámetros de Colección
Cualquier parámetro Collection que sean Collections de
objetos son colecciones homogéneas de objetos del tipo apropiado. Si la colección contiene un objeto cuyo tipo no
es el adecuado, la implementación debe lanzar una UnexpectedObjectException.
Interface FindException
Esta excepción se usa en el caso de un fallo o un éxito parcial durante una operación find.
Se devolverá una Collection de ejemplares de esta excepción en el
BulkResponse para una llamada al método find si se
encuentra una FindExceptions.
Interface SQLQueryManager
El interface SQLQueryManager proporciona un API genérico más flexible que proporciona
la habilidad de realizar consultas SQL.
Como proporciona más funcionalidades usando menos métodos que el BusinessQueryManager,
éste API podría parecer un poco menos obvio para algunos.
Capacidad Nivel: 1
Se requiere que este interface sea implementado por todos lo proveedores JAXR de nivel de capacidad 1 o superiores.
| Sumario de Métodos |
|
submitQuery(java.lang.String sqlQuery) |
Envía una Consulta SQL. |
Síntaxis de Consulta SQL
La síntaxis para la consulta SQL está definida por el uso estilizado de un subconjunto apropiado de sentencias
SELECT de nivel Entry de SQL definido por
ISO/IEC 9075:1992, Database Language SQL [SQL], y extendido para incluir rutinas SQL (también conocidas como
procedimientos almacenados) y especificadas en ISO/IEC 9075-4 [SQL-PSM].
Unión de la Síntaxis de Consulta SQL al Modelo de Información
Las consultas SQL están definidas basándose en la síntaxis de consulta definida en [RIM] y el esquema relacional
que es un algoritmo de unión para el modelo de información.
Resultado de Consulta SQL
El método executeQuery devuelve un BulkResponse que
contiene una Collection homogénea de objetos. El tipo de los objetos está definido
por la claúsula FROM de la consulta. Por ejemplo "SELECT from Organization WHERE"
devuelve una Collection de ejemplares de Organization.