Intercambio de datos
|
Este artículo incluye un lista de referencias, pero sus orígenes no están claros porque tiene suficientes citas en línea. (Febrero de 2014) |
Intercambio de datos es el proceso de toma de datos estructurada bajo un fuente esquema y en realidad transformándola en datos estructurados bajo un blanco esquema, por lo que los datos de destino están una representación exacta de los datos de origen.[citación necesitada] Intercambio de datos es similar al concepto relacionado de integración de datos excepto que datos realmente se reestructuraron (con posible pérdida de contenido) en el intercambio de datos. No puede haber una manera de transformar un instancia Considerando todas las restricciones. Por el contrario, puede haber numerosas formas de transformar la instancia (posiblemente infinitamente muchos), en el cual caso una "mejor" elección de soluciones debe ser identificado y justificado.
Contenido
- 1 Intercambio de datos único dominio
- 2 Intercambio de datos de idiomas
- 2.1 Lenguajes populares utilizados para el intercambio de datos
- 2.2 XML para intercambio de datos
- 2.3 JSON para intercambio de datos
- 2.4 YAML para intercambio de datos
- 2.5 REBOL para intercambio de datos
- 2.6 Gellish para el intercambio de datos
- 3 Véase también
- 4 Referencias
Intercambio de datos único dominio
A menudo hay un par de docenas de diferentes fuentes y esquema de destino (formatos de datos propietarios) en un dominio específico. A menudo las personas desarrollan una formato de intercambio de o formato de intercambio de para algunos un solo dominio y luego escribir unas docena diferentes rutinas para traducir (indirectamente) cada esquema de origen de cada esquema de destino utilizando el formato de intercambio como un paso intermedio. Eso requiere mucho menos trabajo que escribir y depurar los cientos de diferentes rutinas que se necesitaría para traducir directamente cada esquema de origen directamente a cada esquema de destino. (Por ejemplo, Formato de intercambio estándar para la infraestructura de datos espaciales, Formato de intercambio de datos para los datos de la hoja de cálculo, GPS eXchange Format o Keyhole Markup Language para indicar las coordenadas GPS del mundo, Formato de intercambio de Quicken para los datos financieros, GDSII diseño de circuitos integrados, etc.)
Intercambio de datos de idiomas
Un lenguaje de intercambio de datos es un lenguaje que es independiente del dominio y puede utilizarse para cualquier tipo de datos. Su capacidad de expresión semántica y sus cualidades se determinan en gran medida en comparación con las capacidades de lenguajes naturales. El término también se aplica a cualquier formato de archivo puede ser leído por más de un programa, incluyendo formatos propietarios como Microsoft Office documentos. Sin embargo, un formato de archivo no es un lenguaje real como carece de una gramática y vocabulario.
Práctica ha demostrado que ciertos tipos de lenguajes formales son los más adecuados para esta tarea que otros, puesto que su especificación es impulsado por un proceso formal en lugar de una implementación de software en particular las necesidades. Por ejemplo XML es un lenguaje de marcado fue diseñado para permitir la creación de dialectos (la definición de dominio específico sublanguages) y una opción popular ahora en particular en internet. Sin embargo, no contiene diccionarios específicos de dominio o tipos de hecho. Beneficiosa para un intercambio de datos fiable es la disponibilidad de diccionarios-taxonomías estándar y las bibliotecas de herramientas tales como Analizadores, esquema Validadores y herramientas de transformación.
Lenguajes populares utilizados para el intercambio de datos
La siguiente es una lista parcial de lenguajes populares genéricos utilizado para el intercambio de datos en múltiples dominios.
Esquemas | Flexible | Verificación semántica | Diccionario | Modelo de información | Sinonimias y homonimias | Dialecting | Web estándar | Transformaciones | Ligero | Legible | Compatibilidad | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
RDF | Sí[1] | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Parcial | Subconjunto de Web semántica |
XML | Sí[1] | Sí | No | No | No | No | Sí | Sí | Sí | No | No | subconjunto de SGML, HTML |
Átomo | Sí | Desconocido | Desconocido | Desconocido | No | Desconocido | Sí | Sí | Sí | No | No | XML dialecto |
JSON | No | Desconocido | Desconocido | Desconocido | No | Desconocido | No | Sí | No | Sí | Sí | subconjunto de YAML |
YAML | No[2] | Desconocido | Desconocido | Desconocido | No | Desconocido | No | No | No[2] | Sí | Sí[3] | superconjunto de JSON |
REBOL | Sí[6] | Sí | No | Sí | No | Sí | Sí | No | Sí[6] | Sí | Sí[4] | |
Gellish | Sí | Sí | Sí | Sí[7] | No | Sí | Sí | ISO | No | Sí | Parcial[5] | SQL, RDF/XML, BÚHO |
Nomenclatura
- Esquemas - si la definición de idioma está disponible en una forma interpretable de computadora.
- Flexible - si el lenguaje permite la extensión de las capacidades de expresión semántica sin modificar el esquema.
- Verificación semántica - si la definición de idioma permite verificación semántica de la corrección de expresiones en el lenguaje.
- Diccionario-taxonomía - si la lengua incluye un diccionario y una taxonomía (jerarquía de subtipo-supertipo) de conceptos con la herencia.
- Sinonimias y homonimias - si la lengua incluye y apoya el uso de sinonimias y homonimias en las expresiones.
- Dialecting - si la definición de idioma está disponible en múltiples lenguajes naturales o dialectos.
- Web o la norma ISO - organización que apoyó la lengua como un estándar.
- Transformaciones - si la lengua incluye una traducción a otros estándares.
- Ligero - si existe una versión liviana, además de una versión completa.
- Legible - si las expresiones de la lengua son legibles por los seres humanos sin entrenamiento.
- Compatibilidad - otras herramientas que son posibles o requieren cuando usando el lenguaje.
Notas:
- ^ RDF es un lenguaje de esquemas flexibles.
- ^ El esquema de XML contiene una muy limitada gramática y vocabulario.
- ^ Disponible como extensión.
- ^ en el formato predeterminado, no la sintaxis compacta.
- ^ la sintaxis es bastante simple (el lenguaje fue diseñado para ser humano legible); los dialectos pueden requerir conocimientos de dominio.
- ^ los tipos estandarizados de hecho son denotados por frases estandarizadas en inglés, que interpretación y uso necesita un entrenamiento.
- ^ el Analizar dialecto se utiliza para especificar, validar y transformar los dialectos.
- ^ la versión en inglés incluye una taxonomía-Diccionario Gellish inglés que también incluye los tipos estandarizados hecho (= clases de relaciones).
XML para intercambio de datos
La popularidad de XML intercambio de datos sobre la World Wide Web tiene varias razones. En primer lugar, está estrechamente vinculada a las normas preexistentes Standard Generalized Markup Language (SGML) y Hypertext Markup Language (HTML), y como tal un analizador escrito para apoyar estos dos idiomas puede ampliarse fácilmente para apoyar así como XML. Por ejemplo, XHTML se ha definido como un formato XML formal, pero entendido correctamente por la mayoría (si no todos) analizadores HTML. Esto condujo a la adopción rápida de la compatibilidad con XML en los navegadores web y las cadenas de herramientas utilizados para la generación de páginas web.
JSON para intercambio de datos
En realidad una parte de la JavaScript programación de lenguaje, la JSON (JavaScript Object Notation) se dividió por un formato de bajo nivel para el intercambio de datos estructurados. Mientras que no fue originalmente diseñado para el intercambio de datos en absoluto, fue descubierto para ser útil. En contraste con XML anterior, existen ninguna definición de esquema y no hay soporte para dialecting. Los beneficios clave de este lenguaje son la baja sobrecarga (la cantidad de datos necesarios para estructurar) en comparación con XML y el apoyo igualmente amplio: todos los navegadores web que tenga soporte de JavaScript pueden también procesar JSON.
YAML para intercambio de datos
YAML es un lenguaje que fue diseñado para ser legible (y como tal será fácil de editar con cualquier editor de texto estándar). Su noción es a menudo similar a reStructuredText o una sintaxis Wiki, que también intentan ser legibles tanto por seres humanos y computadoras. YAML 1.2 incluye también una noción de taquigrafía que sea compatible con JSON, y como tal, cualquier documento JSON es también válido YAML; Sin embargo esto no sostiene al revés.
REBOL para intercambio de datos
REBOL es un lenguaje que fue diseñado para ser legible y fácil de editar con cualquier editor de texto estándar. Para lograr que utiliza una sintaxis simple de forma libre con puntuación mínima y un rico conjunto de tipos de datos. REBOL datatypes como direcciones URL, correos electrónicos, valores de fecha y hora, tuplas, cuerdas, etiquetas, etc. respetar las normas comunes. REBOL está diseñado para no necesita ningún adicional metalenguaje, siendo diseñado de una manera metacircular. El metacircularity de la lengua es la razón por qué por ejemplo, utilizan el dialecto Parse (no exclusivamente) para las definiciones y transformaciones de dialectos REBOL constituye también un dialecto de REBOL. REBOL fue utilizado como una fuente de inspiración del diseñador de JSON.
Gellish para el intercambio de datos
Gellish inglés es un subconjunto del inglés natural, que incluye una gramática simple y una gran formalizado extensible Diccionario Inglés-taxonomía Eso define la terminología específica general y dominio (términos de conceptos), mientras que los conceptos se organizan en una jerarquía de subtipo-supertipo (una taxonomía), que apoya la herencia de los conocimientos y requisitos. El diccionario-taxonomía también incluye tipos estandarizados hecho (también llamados tipos de relación). Los términos y tipos de relación juntos pueden utilizarse para crear e interpretar las expresiones de hechos, conocimientos, requisitos y otras informaciones. Gellish puede ser utilizado en combinación con SQL, RDF/XML, BÚHO y varias otras lenguas meta. El Gellish estándar está siendo adoptada como ISO 15926-11.
Véase también
- Átomo (formato de archivo)
- Lenguaje de marcado ligero
- RSS
Referencias
- R. Fagin, P. Kolaitis, R. Miller y L. Popa. "El intercambio de datos: semántica y respondiendo a consulta." Theoretical Computer Science, 1:89 – 124, 2005.
- P. Kolaitis. "Asignaciones de esquema, intercambio de datos y administración de metadatos. Actas del Simposio ACM SIGMOD-/SIGACT-SIGART vigésimo cuarto en los principios de sistemas de base de datos, páginas 61 – 75, 2005