Status: | effective |
Progress: | 99% |
Version: | 1.9.3+ |
Utilizando SPARQL y almacenes de tripletas RDF
N/A | |
---|---|
Proporciona información sobre el uso de SPARQL y los conectores a depósitos relacionados.
| |
Table of Contents | |
En principio, SMW almacena todos los datos en la misma base de datos relacional (generalmente, una base de datos MySQL) que usa MediaWiki. Esto garantiza una configuración simple, pero una base de datos relacional no es el modelo ideal de almacenamiento para datos semánticos. RDF es un modelo de datos más natural para los datos de SMW, ya que este formato de datos organiza la información en grafos en lugar de en tablas de bases de datos fijas. Afortunadamente, es posible utilizar sistemas basados en RDF, junto con la base de datos SQL estándar, para administrar y consultar los datos de SMW. Esta página explica los detalles.
Pros y contras de usar una base de datos RDF[edit]
Utilizar o no de un almacen de datos RDF en una wiki específica depende de una serie de factores, incluida la base de datos RDF específica que se utiliza. No obstante, podemos esperar razonablemente las siguientes ventajas:
- Mejor rendimiento de la consulta
Los almacenes RDF están diseñados para responder consultas en el lenguaje de consulta SPARQL. Las consultas SMW pueden expresarse en este lenguaje de forma mucho más natural que en el lenguaje de consulta SQL de las bases de datos relacionales. En este sentido, las consultas SMW son un ejemplo de uso típico para los sistemas de bases de datos RDF, mientras que son un ejemplo de uso bastante exótico para los sistemas de bases de datos relacionales. Además, muchos métodos de optimización importantes en las consultas de bases de datos relacionales son inútiles o engañosas en las consultas SMW. Por lo tanto, se puede esperar que los almacenes de datos RDF proporcionen un rendimiento de consulta superior. - Interfaces adicionales
Los almacenes de datos RDF que soportan el estándar SPARQL también permiten que otras aplicaciones hagan consultas SPARQL contra sus datos sin pasar por la interfaz web SMW. Esto permite el uso eficiente de datos wiki en otras aplicaciones. Algunas bases de datos compatibles con SPARQL admiten (partes de) el lenguaje para ontologías OWL y proporcionan los interfaces correspondientes para consultar los datos almacenados (por ejemplo, a través del Link protocol). Las aplicaciones web semánticas también utilizan varias librerías de programación comunes (como librdf o la OWL API) que pueden ser útiles para integrarlas con otras herramientas en un nivel inferior. - Funciones de razonamiento y acceso a datos basado en ontologías
Los lenguajes de la Web Semántica como el Esquema RDF y OWL proporcionan funciones expresivas adicionales para el modelado, por ejemplo al permitir la declaración de clases derivadas o la declaración de características adicionales de una propiedad (por ejemplo, transitividad de las propiedades). Algunas bases de datos compatibles con SPARQL pueden evaluar estas características para responder consultas, por ejemplo, para el acceso a datos basado en ontologías (OBDA), el método de creación de "vistas virtuales" en datos mediante construcciones de modelado semántico. - Integración de datos y reutilización de ontologías
Es posible almacenar datos adicionales en la base de datos RDF que SMW actualiza. De esta forma, el almacen RDF puede actuar como una plataforma para la integración de datos y la reutilización de ontologías. - Separación física de los recursos informáticos
El uso de un servidor de base de datos que no es el mismo que en MediaWiki proporciona una forma fácil de distribuir tareas entre varios servidores. En particular, se puede evitar que las consultas complejas afecten la operación básica de la wiki, incluso si consumen de manera inesperada una cantidad prohibitiva de potencia informática, es decir, si paran el servidor que aloja la base de datos RDF.
Sin embargo, también hay una serie de posibles inconvenientes:
- Mayores necesidades de almacenamiento
Los datos solo se duplican en las bases de datos RDF, no se eliminan de SQL. Por lo tanto, se requiere espacio de almacenamiento adicional. - Trabajo de mantenimiento adicional
La configuración de backends RDF en SMW es fácil, pero todavía requiere un cierto trabajo ejecutar un sistema adicional de administración de base de datos. - Dudas sobre el rendimiento y la estabilidad
Actualmente, existen varias bases de datos RDF de gran calidad en la industria, algunas de ellas libres / de código abierto. Sin embargo, la experiencia de uso de estos sistemas con SMW es aún limitada, por lo que algunas pruebas son útiles antes de decidir sobre un backend particular para una aplicación SMW a gran escala.
Afortunadamente, es posible cambiar entre backends de almacenamiento basados en SQL y basados en RDF sin gran esfuerzo, de modo que la decisión pueda ser revisada después de probarla durante un tiempo.
Decidir sobre qué base de datos RDF[edit]
En principio, SMW admite cualquier base de datos que admita el lenguaje de consulta SPARQL y SPARUL (SPARQL / Update) tal como se introdujo en SPARQL 1.1. En Semantic MediaWiki 1.7.0, se requiere que los almacenes acepten actualizaciones y consultas que no especifiquen un gráfo, pero se planea eliminar esta limitación en el futuro. Dos lugares donde se mantienen listas de almacenes RDF son:
Conectores de repositorio disponibles[edit]
Help page | Connector | Description | Version |
---|---|---|---|
Help:SPARQLStore (custom) | Custom | Custom access point to the SPARQLStore | 2.0.0 |
Help:SPARQLStore (default) | Default | Default access point to the SPARQLStore | 1.6.0 |
Help:SPARQLStore and Virtuoso | Virtuoso | Virtuoso access point to the SPARQLStore | 1.7.1 |
Help:SPARQLStore and 4store | 4store | 4store access point to the SPARQLStore | 2.0.0 |
Help:SPARQLStore and Blazegraph | Blazegraph | Blazegraph access point to the SPARQLStore | 2.3.0 |
Help:SPARQLStore and Fuseki | Fuseki | Jena Fuseki access point to the SPARQLStore | 2.0.0 |
Help:SPARQLStore and Sesame | Sesame | Sesame (RDF4J) access point to the SPARQLStore | 2.1.0 |
Parámetros de configuración disponibles[edit]
Parameter | Description | Default | Version |
---|---|---|---|
$smwgSparqlRepositoryConnectorForcedHttpVersion | Sets whether CURLOPT_HTTP_VERSION should explicitly be forced for the endpoint communication |
false |
2.3.1+ |
$smwgDefaultStore | Sets the storage backend to be used for the semantic data | SMW\SQLStore\SQLStore |
0.7+ |
$smwgExportResourcesAsIri | Sets whether resources should be exported as IRIs (Internationalized Resource Identifiers) | true |
2.5.0+ |
$smwgSparqlCustomConnector | Defines the SPARQL custom database connectors | custom |
1.6.0+ |
$smwgSparqlDataEndpoint | Sets the endpoint for data on the SPARQL database | http://localhost:8080/data/ |
1.6.0+ |
$smwgSparqlDefaultGraph | Sets the identifier (graph) of the SPARQL database | '' |
1.7.0+ |
$smwgSparqlQFeatures | Sets the SPARQL query features that are expected to be supported by the repository of the identifier (graph) of the SPARQL database | see documentation | 2.3.0+ |
$smwgSparqlQueryEndpoint | Sets the endpoint for querying the SPARQL database | http://localhost:8080/sparql/ |
1.6.0+ |
$smwgSparqlReplicationPropertyExemptionList | see documentation | + | |
$smwgSparqlRepositoryConnector | Identifies a database connector that ought to be used together with the semantic data store. | default |
2.0.0+ |
$smwgSparqlUpdateEndpoint | Sets the endpoint for updating the SPARQL database | http://localhost:8080/update/ |
1.6.0+ |
Moviendo los datos a la nueva base de datos[edit]
Después de cambiar la configuración, todavía no hay datos en la base de datos RDF. Para llenarlo con el contenido actual de la wiki, es necesario actualizar todos los datos. Consulte la página de ayuda en reparación de datos de SMW (en inglés) para obtener más información. Cualquier método que actualice los datos funcionará. Todas las consultas SMW (búsqueda semántica o en línea) se ejecutarán en la base de datos RDF, por lo que sus resultados solo serán correctos cuando todos los datos se hayan actualizado.
Limitaciones conocidas[edit]
Todavía hay algunas funciones que no son compatibles cuando se utiliza la consulta respondiendo a través de una base de datos RDF:
- Consultas de conceptos: Todavía no hay soporte para conceptos en los almacenes RDF.