El documento describe las ontologías, incluyendo su definición, aplicaciones, elementos, beneficios, principios de construcción y pasos para crearlas. Explica lenguajes para ontologías como RDF/RDF-S, DAML+OIL y OWL, así como herramientas como Protégé y RACER.
Este documento explica el concepto de dependencias funcionales (DF), las cuales son fundamentales para la normalización de bases de datos. Indican una dependencia entre valores de atributos dentro de una relación. Por ejemplo, el número de préstamo podría determinar funcionalmente el saldo de un préstamo. El documento también cubre temas como las DF triviales, implícitas y el cierre de un conjunto de DF, el cual incluye todas las DF lógicamente implicadas.
Creating a Data validation and Testing StrategyRTTS
This document discusses strategies for creating an effective data validation and testing process. It provides examples of common data issues found during testing such as missing data, wrong translations, and duplicate records. Solutions discussed include identifying important test points, reviewing data mappings, developing automated and manual testing approaches, and assessing how much data needs validation. The presentation also includes a case study of a company that improved its process by centralizing documentation, improving communication, and automating more of its testing.
Java Database Connectivity (JDBC) es una interfase de acceso a bases de datos estándar SQL que proporciona un acceso uniforme a una gran variedad de bases de datos relacionales.
Testing data warehouse applications by Kirti BhushanKirti Bhushan
This document outlines a data warehouse testing strategy. It begins with an introduction that defines a data warehouse and discusses the need for data warehouse testing and challenges it presents. It then describes the testing model, including phases for project definition, test design, development, execution and acceptance. Next, it covers the goals of data warehouse testing like data completeness, transformation, quality and various types of non-functional testing. Finally, it discusses roles, artifacts, tools and references related to data warehouse testing.
Designing and Implementing a Real-time Data Lake with Dynamically Changing Sc...Databricks
Building a curated data lake on real time data is an emerging data warehouse pattern with delta. However in the real world, what we many times face ourselves with is dynamically changing schemas which pose a big challenge to incorporate without downtimes.
Las empresas dependen de la información almacenada en bases de datos, pero estas pueden dañarse y causar la pérdida de datos. Los administradores de bases de datos pueden recuperar la información mediante copias de seguridad y herramientas que permiten restaurar la base de datos a un estado consistente anterior al daño. Existen diferentes métodos y escenarios de recuperación para diversos tipos de bases de datos y daños.
Accelerate Oracle to Aurora PostgreSQL Migration (GPSTEC313) - AWS re:Invent ...Amazon Web Services
There is a lot of interest these days in migrating data from commercial relational databases to open-source relational databases. PostgreSQL is a great choice for migration, offering advanced features, high performance, rock-solid data integrity, and a flexible open-source license. PostgreSQL is compliant with ANSI SQL. It supports drivers for nearly all development languages, and it has a strong community of active committers and companies to provide support. In this talk, we demonstrate an overall approach for migrating an application from your current Oracle database to an Amazon Aurora PostgreSQL database.
Este documento explica el concepto de dependencias funcionales (DF), las cuales son fundamentales para la normalización de bases de datos. Indican una dependencia entre valores de atributos dentro de una relación. Por ejemplo, el número de préstamo podría determinar funcionalmente el saldo de un préstamo. El documento también cubre temas como las DF triviales, implícitas y el cierre de un conjunto de DF, el cual incluye todas las DF lógicamente implicadas.
Creating a Data validation and Testing StrategyRTTS
This document discusses strategies for creating an effective data validation and testing process. It provides examples of common data issues found during testing such as missing data, wrong translations, and duplicate records. Solutions discussed include identifying important test points, reviewing data mappings, developing automated and manual testing approaches, and assessing how much data needs validation. The presentation also includes a case study of a company that improved its process by centralizing documentation, improving communication, and automating more of its testing.
Java Database Connectivity (JDBC) es una interfase de acceso a bases de datos estándar SQL que proporciona un acceso uniforme a una gran variedad de bases de datos relacionales.
Testing data warehouse applications by Kirti BhushanKirti Bhushan
This document outlines a data warehouse testing strategy. It begins with an introduction that defines a data warehouse and discusses the need for data warehouse testing and challenges it presents. It then describes the testing model, including phases for project definition, test design, development, execution and acceptance. Next, it covers the goals of data warehouse testing like data completeness, transformation, quality and various types of non-functional testing. Finally, it discusses roles, artifacts, tools and references related to data warehouse testing.
Designing and Implementing a Real-time Data Lake with Dynamically Changing Sc...Databricks
Building a curated data lake on real time data is an emerging data warehouse pattern with delta. However in the real world, what we many times face ourselves with is dynamically changing schemas which pose a big challenge to incorporate without downtimes.
Las empresas dependen de la información almacenada en bases de datos, pero estas pueden dañarse y causar la pérdida de datos. Los administradores de bases de datos pueden recuperar la información mediante copias de seguridad y herramientas que permiten restaurar la base de datos a un estado consistente anterior al daño. Existen diferentes métodos y escenarios de recuperación para diversos tipos de bases de datos y daños.
Accelerate Oracle to Aurora PostgreSQL Migration (GPSTEC313) - AWS re:Invent ...Amazon Web Services
There is a lot of interest these days in migrating data from commercial relational databases to open-source relational databases. PostgreSQL is a great choice for migration, offering advanced features, high performance, rock-solid data integrity, and a flexible open-source license. PostgreSQL is compliant with ANSI SQL. It supports drivers for nearly all development languages, and it has a strong community of active committers and companies to provide support. In this talk, we demonstrate an overall approach for migrating an application from your current Oracle database to an Amazon Aurora PostgreSQL database.
Scaling up uber's real time data analyticsXiang Fu
Realtime infrastructure powers critical pieces of Uber. This talk will discuss the architecture, technical challenges, learnings and how a blend of open source infrastructure (Apache Kafka/Flink/Pinot) and in-house technologies have helped Uber scale and enabled SQL to power realtime decision making for city ops, data scientists, data analysts and engineers.
Galene - LinkedIn's Search Architecture: Presented by Diego Buthay & Sriram S...Lucidworks
LinkedIn's search architecture called Galene uses Lucene to index hundreds of millions of profiles. Galene improves search quality and scalability through techniques like offline indexing for complex features, live updates at fine granularity, static ranking to prioritize more popular profiles, and early termination to quickly return top results. The architecture includes base, live, and snapshot indexes to support these techniques.
The document discusses benchmarking the performance of Apache Solr. It describes testing the indexing performance of SolrCloud clusters of varying sizes. The results show that indexing performance scales nearly linearly as nodes are added. It also discusses using the Solr Scale Toolkit, which is a set of tools for deploying, managing, and benchmarking SolrCloud clusters. Future work mentioned includes benchmarking mixed workloads and integrating chaos monkey tests.
Calidad de datos. Preparación y limpieza de los datosRoman Herrera
1) La calidad de los datos es fundamental para la toma de decisiones basadas en datos. Existen diversos tipos de datos de diferentes fuentes que requieren limpieza y preparación.
2) Las actividades de limpieza de datos incluyen corregir valores faltantes, ruidosos o inconsistentes, estandarizar valores y filtrar datos.
3) Existen dos enfoques principales para la integración de datos: ETL (Extract, Transform, Load) y ELT (Extract, Load, Transform). ELT permite tiempos de carga más rápidos al transformar los datos "s
El documento describe un diccionario de datos, que es un catálogo que contiene información sobre los elementos de datos en un sistema, como flujos de datos, almacenes de datos y procesos. El diccionario proporciona detalles como nombres, descripciones y organización de los datos. Se desarrolla durante el análisis de flujo de datos y ayuda a los analistas a determinar los requisitos del sistema. El diccionario también se utiliza durante el diseño.
Migrate from Oracle to Aurora PostgreSQL: Best Practices, Design Patterns, & ...Amazon Web Services
In this session, we show you how to set the source Oracle database environment, the target PostgreSQL environment, and parameter group configuration. We also recommended database parameters to disable foreign keys and triggers. Finally, we discuss best practices for using AWS Database Migration Service (AWS DMS) and AWS Schema Conversion Tool (AWS SCT) and show you how to choose the instance type and configure AWS DMS.
Datadog is a monitoring service that helps scale monitoring through pre-canned tools like integrations and dashboards, templated dashboards that can be reused across environments, and a powerful API. The API allows monitoring to be coded and integrated with provisioning tools like CloudFormation, version controlled, and tracked like any other code. This improves monitoring by bringing development practices like testing, versioning, and avoiding duplication to monitoring configuration and resources.
This document discusses migrating databases from Oracle to PostgreSQL using AWS Database Migration Service (DMS) and AWS Schema Conversion Tool (SCT). It provides an overview of DMS and SCT, the migration process which involves assessing the database with SCT and then using DMS to replicate the data, and resources available to customers for both services. It also provides background on PostgreSQL, describing it as an open-source, object-relational database management system.
Un Sistema de Gestión de Bases de Datos (SGBD) permite construir, utilizar, mantener y reorganizar bases de datos. Los SGBD resuelven las debilidades de los sistemas de archivos y ofrecen capacidades como el manejo de persistencia de datos, soporte de modelos de datos, lenguajes de manipulación de datos, control de acceso y prevención de inconsistencias. Para garantizar la integridad de los datos, los SGBD deben cumplir con las propiedades ACID para transacciones.
Kafka Connect is a framework which connects Kafka with external Systems. It helps to move the data in and out of the Kafka. Connect makes it simple to use existing connector configuration for common source and sink Connectors.
Data Engineering and the Data Science LifecycleAdam Doyle
Everyone wants to be a data scientist. Data modeling is the hottest thing since Tickle Me Elmo. But data scientists don’t work alone. They rely on data engineers to help with data acquisition and data shaping before their model can be developed. They rely on data engineers to deploy their model into production. Once the model is in production, the data engineer’s job isn’t done. The model must be monitored to make sure that it retains its predictive power. And when the model slips, the data engineer and the data scientist need to work together to correct it through retraining or remodeling.
Si deseas obtener más información sobre la tecnología de grafos, este webinar introductorio es perfecto para comenzar a explorar el potencial de las relaciones de datos para tu negocio
The Cassandra architecture shines at ensuring a very high availability of data even while nodes are failing or are overloaded. On the other hand, query latency will often rise during these events, especially on the higher percentiles. Many improvements have been made to reduce this effect over the past years. This talk will focus on one in particular: Speculative Retries. Introduced in Cassandra 2.0 on the server side and in the Java Driver 3.0 on the client side, this strategy remains complex to fully understand and to finely tune. This talk will deep dive into theoretical and practical aspects of Speculative Retries, showing the effect of tuning strategies with ad-hoc benchmarks.
About the Speakers
Michael Figuiere Cloud Platform Engineer, Netflix
Michael is a senior software engineer at Netflix where he works on improving the cloud storage infrastructure. He previously worked at Apple and DataStax where he worked for several years on creating Drivers and Developer Tools for Cassandra. At ease with both enterprise applications and lower level technologies, he specializes in distributed architectures and topics such as databases, search engines, and cloud.
Minh Do Senior Distributed Engineer, Netflix
Minh Do has been working at Netflix for the last several years to run, patch, and troubleshoot Cassandra on both server and client sides, and is also a co-creator of Dynomite project. Prior to Netflix, at Tango, he spearheaded its Big Data pipeline system from the ground using Spark/Hadoop. Before that, at Qualys, he built a distributed queue system that bridges traffics between all major components. He has passion in distributed system, machine learning/deep learning, and data storages.
This document provides an overview of Spark Streaming and Structured Streaming. It discusses what Spark Streaming is, its framework, and drawbacks. It then introduces Structured Streaming, which models streams as infinite datasets. It describes output modes, advantages like handling late data and event times. It covers window operations, watermarking for late data, and different types of stream-stream joins like inner and outer joins. Watermarks and time constraints are needed for joins to handle state and provide correct results.
Cassandra es una base de datos NoSQL descentralizada desarrollada originalmente por Facebook. Gestiona datos mediante tablas, familias de columnas y claves. Las columnas se organizan y almacenan dentro de las familias de columnas, y cada familia de columnas se almacena de forma independiente. Cassandra ofrece alta escalabilidad, tolerancia a fallos y rendimiento para volúmenes masivos de datos.
Applied Data Science Course Part 1: Concepts & your first ML modelDataiku
In this first course of our Applied Data Science online course series, you'll learn about the mindset shift of going from small to big data, basic definitions and concepts, and an overview of the data science workflow.
El documento describe el diseño de tablas y diccionarios de datos para empleados y préstamos de una compañía. Detalla los campos de cada tabla, sus tipos de datos y longitudes. También describe los procesos de solicitud y entrega de préstamos, revisión de facturas e inventario para el despacho de mercancía, y el proceso de reclamación de daños para vehículos asegurados.
esto es de transformacion del modelo relacionalBrahyan Marquez
Este documento describe la transformación del modelo Entidad-Relación (ER) al modelo relacional. Explica que el modelo ER es un modelo conceptual de alto nivel que debe traducirse a un esquema compatible con un sistema de gestión de bases de datos relacional. Luego, detalla los 7 pasos para realizar esta transformación: 1) transformar entidades, 2) entidades débiles, 3) vínculos 1:N, 4) vínculos 1:1, 5) vínculos M:N, 6) atributos multivaluados, y 7) vínculos n-arios
Apache Flink Training: DataStream API Part 1 BasicFlink Forward
The document provides an overview of Apache Flink's DataStream API for stream processing. It discusses key concepts like stream execution environments, data types (including tuples), transformations (such as map, filter, grouping), data sources (files, sockets, collections), sinks, and fault tolerance through checkpointing. The document also contains examples of a WordCount application using the DataStream API in Java.
El documento describe los componentes clave de la Web Semántica, incluyendo lenguajes de representación como RDF, RDF Schema, OWL y DAML, lenguajes de consulta como SPARQL y SeRQL, y esquemas para representar conocimiento como ontologías, marcos y redes semánticas. También discute brevemente algunas aplicaciones como DISCO, Yahoo SearchMonkey y SWAML/Buxon.
Scaling up uber's real time data analyticsXiang Fu
Realtime infrastructure powers critical pieces of Uber. This talk will discuss the architecture, technical challenges, learnings and how a blend of open source infrastructure (Apache Kafka/Flink/Pinot) and in-house technologies have helped Uber scale and enabled SQL to power realtime decision making for city ops, data scientists, data analysts and engineers.
Galene - LinkedIn's Search Architecture: Presented by Diego Buthay & Sriram S...Lucidworks
LinkedIn's search architecture called Galene uses Lucene to index hundreds of millions of profiles. Galene improves search quality and scalability through techniques like offline indexing for complex features, live updates at fine granularity, static ranking to prioritize more popular profiles, and early termination to quickly return top results. The architecture includes base, live, and snapshot indexes to support these techniques.
The document discusses benchmarking the performance of Apache Solr. It describes testing the indexing performance of SolrCloud clusters of varying sizes. The results show that indexing performance scales nearly linearly as nodes are added. It also discusses using the Solr Scale Toolkit, which is a set of tools for deploying, managing, and benchmarking SolrCloud clusters. Future work mentioned includes benchmarking mixed workloads and integrating chaos monkey tests.
Calidad de datos. Preparación y limpieza de los datosRoman Herrera
1) La calidad de los datos es fundamental para la toma de decisiones basadas en datos. Existen diversos tipos de datos de diferentes fuentes que requieren limpieza y preparación.
2) Las actividades de limpieza de datos incluyen corregir valores faltantes, ruidosos o inconsistentes, estandarizar valores y filtrar datos.
3) Existen dos enfoques principales para la integración de datos: ETL (Extract, Transform, Load) y ELT (Extract, Load, Transform). ELT permite tiempos de carga más rápidos al transformar los datos "s
El documento describe un diccionario de datos, que es un catálogo que contiene información sobre los elementos de datos en un sistema, como flujos de datos, almacenes de datos y procesos. El diccionario proporciona detalles como nombres, descripciones y organización de los datos. Se desarrolla durante el análisis de flujo de datos y ayuda a los analistas a determinar los requisitos del sistema. El diccionario también se utiliza durante el diseño.
Migrate from Oracle to Aurora PostgreSQL: Best Practices, Design Patterns, & ...Amazon Web Services
In this session, we show you how to set the source Oracle database environment, the target PostgreSQL environment, and parameter group configuration. We also recommended database parameters to disable foreign keys and triggers. Finally, we discuss best practices for using AWS Database Migration Service (AWS DMS) and AWS Schema Conversion Tool (AWS SCT) and show you how to choose the instance type and configure AWS DMS.
Datadog is a monitoring service that helps scale monitoring through pre-canned tools like integrations and dashboards, templated dashboards that can be reused across environments, and a powerful API. The API allows monitoring to be coded and integrated with provisioning tools like CloudFormation, version controlled, and tracked like any other code. This improves monitoring by bringing development practices like testing, versioning, and avoiding duplication to monitoring configuration and resources.
This document discusses migrating databases from Oracle to PostgreSQL using AWS Database Migration Service (DMS) and AWS Schema Conversion Tool (SCT). It provides an overview of DMS and SCT, the migration process which involves assessing the database with SCT and then using DMS to replicate the data, and resources available to customers for both services. It also provides background on PostgreSQL, describing it as an open-source, object-relational database management system.
Un Sistema de Gestión de Bases de Datos (SGBD) permite construir, utilizar, mantener y reorganizar bases de datos. Los SGBD resuelven las debilidades de los sistemas de archivos y ofrecen capacidades como el manejo de persistencia de datos, soporte de modelos de datos, lenguajes de manipulación de datos, control de acceso y prevención de inconsistencias. Para garantizar la integridad de los datos, los SGBD deben cumplir con las propiedades ACID para transacciones.
Kafka Connect is a framework which connects Kafka with external Systems. It helps to move the data in and out of the Kafka. Connect makes it simple to use existing connector configuration for common source and sink Connectors.
Data Engineering and the Data Science LifecycleAdam Doyle
Everyone wants to be a data scientist. Data modeling is the hottest thing since Tickle Me Elmo. But data scientists don’t work alone. They rely on data engineers to help with data acquisition and data shaping before their model can be developed. They rely on data engineers to deploy their model into production. Once the model is in production, the data engineer’s job isn’t done. The model must be monitored to make sure that it retains its predictive power. And when the model slips, the data engineer and the data scientist need to work together to correct it through retraining or remodeling.
Si deseas obtener más información sobre la tecnología de grafos, este webinar introductorio es perfecto para comenzar a explorar el potencial de las relaciones de datos para tu negocio
The Cassandra architecture shines at ensuring a very high availability of data even while nodes are failing or are overloaded. On the other hand, query latency will often rise during these events, especially on the higher percentiles. Many improvements have been made to reduce this effect over the past years. This talk will focus on one in particular: Speculative Retries. Introduced in Cassandra 2.0 on the server side and in the Java Driver 3.0 on the client side, this strategy remains complex to fully understand and to finely tune. This talk will deep dive into theoretical and practical aspects of Speculative Retries, showing the effect of tuning strategies with ad-hoc benchmarks.
About the Speakers
Michael Figuiere Cloud Platform Engineer, Netflix
Michael is a senior software engineer at Netflix where he works on improving the cloud storage infrastructure. He previously worked at Apple and DataStax where he worked for several years on creating Drivers and Developer Tools for Cassandra. At ease with both enterprise applications and lower level technologies, he specializes in distributed architectures and topics such as databases, search engines, and cloud.
Minh Do Senior Distributed Engineer, Netflix
Minh Do has been working at Netflix for the last several years to run, patch, and troubleshoot Cassandra on both server and client sides, and is also a co-creator of Dynomite project. Prior to Netflix, at Tango, he spearheaded its Big Data pipeline system from the ground using Spark/Hadoop. Before that, at Qualys, he built a distributed queue system that bridges traffics between all major components. He has passion in distributed system, machine learning/deep learning, and data storages.
This document provides an overview of Spark Streaming and Structured Streaming. It discusses what Spark Streaming is, its framework, and drawbacks. It then introduces Structured Streaming, which models streams as infinite datasets. It describes output modes, advantages like handling late data and event times. It covers window operations, watermarking for late data, and different types of stream-stream joins like inner and outer joins. Watermarks and time constraints are needed for joins to handle state and provide correct results.
Cassandra es una base de datos NoSQL descentralizada desarrollada originalmente por Facebook. Gestiona datos mediante tablas, familias de columnas y claves. Las columnas se organizan y almacenan dentro de las familias de columnas, y cada familia de columnas se almacena de forma independiente. Cassandra ofrece alta escalabilidad, tolerancia a fallos y rendimiento para volúmenes masivos de datos.
Applied Data Science Course Part 1: Concepts & your first ML modelDataiku
In this first course of our Applied Data Science online course series, you'll learn about the mindset shift of going from small to big data, basic definitions and concepts, and an overview of the data science workflow.
El documento describe el diseño de tablas y diccionarios de datos para empleados y préstamos de una compañía. Detalla los campos de cada tabla, sus tipos de datos y longitudes. También describe los procesos de solicitud y entrega de préstamos, revisión de facturas e inventario para el despacho de mercancía, y el proceso de reclamación de daños para vehículos asegurados.
esto es de transformacion del modelo relacionalBrahyan Marquez
Este documento describe la transformación del modelo Entidad-Relación (ER) al modelo relacional. Explica que el modelo ER es un modelo conceptual de alto nivel que debe traducirse a un esquema compatible con un sistema de gestión de bases de datos relacional. Luego, detalla los 7 pasos para realizar esta transformación: 1) transformar entidades, 2) entidades débiles, 3) vínculos 1:N, 4) vínculos 1:1, 5) vínculos M:N, 6) atributos multivaluados, y 7) vínculos n-arios
Apache Flink Training: DataStream API Part 1 BasicFlink Forward
The document provides an overview of Apache Flink's DataStream API for stream processing. It discusses key concepts like stream execution environments, data types (including tuples), transformations (such as map, filter, grouping), data sources (files, sockets, collections), sinks, and fault tolerance through checkpointing. The document also contains examples of a WordCount application using the DataStream API in Java.
El documento describe los componentes clave de la Web Semántica, incluyendo lenguajes de representación como RDF, RDF Schema, OWL y DAML, lenguajes de consulta como SPARQL y SeRQL, y esquemas para representar conocimiento como ontologías, marcos y redes semánticas. También discute brevemente algunas aplicaciones como DISCO, Yahoo SearchMonkey y SWAML/Buxon.
PHP es un lenguaje de programación de uso general originalmente diseñado para el desarrollo web dinámico. Permite incorporar código directamente en documentos HTML y se puede usar gratuitamente en la mayoría de servidores web y sistemas operativos. Fue creado en 1994 y ha evolucionado para incluir una interfaz de línea de comandos y soporte para programación orientada a objetos.
La Web 3.0 permitirá realizar búsquedas basadas en necesidades y expresiones humanas naturales en lugar de palabras clave. Utilizará software para codificar la información y devolver los resultados más personalizados posibles. Algunos de sus principales componentes serán XML, XML Schema, RDF, RDF Schema y OWL. En el área educativa, la Web Semántica se centraría en el desarrollo de sistemas de información lógicos que puedan unirse entre sí y ampliar sus funciones.
Este documento describe los componentes y aplicaciones de la Web Semántica. Explica que la Web Semántica es una extensión de la Web existente que utiliza lenguajes formales como RDF, OWL y XML para estructurar el contenido y representar el conocimiento de manera que las máquinas puedan procesar y comprender la información de forma más efectiva. Esto permitirá el desarrollo de agentes inteligentes y servicios automatizados que puedan buscar y procesar información de manera más precisa.
El documento describe el lenguaje OWL (Ontology Web Language) y su importancia para la Web Semántica. Explica que OWL supera las limitaciones de XML y RDF al proveer mayor expresividad para describir recursos web. También presenta un caso exitoso de SearchMonkey que usa OWL para extraer datos estructurados de páginas y mejorar los resultados de búsqueda. Finalmente, resume un modelo propuesto para el desarrollo de ontologías enfocado en la reutilización.
PHP es un lenguaje de programación de uso general originalmente diseñado para el desarrollo web dinámico. Es orientado al desarrollo de aplicaciones web con acceso a bases de datos y se considera fácil de aprender. Soporta la mayoría de bases de datos y servidores web sin costo. El documento describe la historia, características, ventajas, desventajas y sintaxis básica de PHP.
Este documento presenta una introducción a la plataforma .NET. Explica que .NET es un framework de Microsoft que permite el desarrollo rápido de aplicaciones de manera independiente de la plataforma hardware. Describe los componentes clave de .NET como los lenguajes de programación, la biblioteca de clases base y el entorno común de ejecución. También resume las ventajas de .NET como el soporte para programación orientada a objetos y múltiples lenguajes.
La Web Semántica proporciona datos definidos y enlazados en la Web para que aplicaciones heterogéneas puedan descubrir, integrar y utilizar información. Las principales tecnologías de la Web Semántica incluyen RDF, RDFS, OWL, SPARQL y GRDDL, las cuales permiten describir, modelar y consultar datos en la Web. Las ontologías juegan un papel fundamental al definir términos y relaciones para representar dominios de conocimiento compartidos.
Experiencias adquiridas en el desarrollo orientado a la semánticaSoftware Guru
El documento describe las experiencias de Infotec en el desarrollo orientado a la semántica (DOS), incluyendo el desarrollo de su metodología y tecnología DOS. El DOS toma como punto de partida el conocimiento de un dominio expresado en ontologías y lo transforma en software mediante generación de código. Infotec ha aprendido que el DOS permite responder rápidamente a los clientes, hacer cambios consistentes y facilitar la extensión y reutilización de sistemas.
El documento habla sobre los servicios web y contiene información sobre las expectativas de aprendizaje del estudiante, habilidades en programación, y qué le gusta hacer. También contiene información sobre los servicios web, incluyendo por qué se necesitan, cómo surgieron, qué son, sus elementos, especificaciones y más.
Este documento presenta una introducción a la Web de Datos, incluyendo su visión, tecnologías como Linked Data, herramientas y ejemplos de uso. Explica conceptos como RDF, RDFS, OWL y SPARQL que son fundamentales para la Web Semántica.
Este documento describe las características y ventajas de PHP, uno de los lenguajes de programación más utilizados para el desarrollo web. PHP es un lenguaje de código abierto y de uso general diseñado para crear contenido dinámico en la web. Es flexible, potente y escalable, lo que ha llevado a que muchos sitios grandes como Facebook lo utilicen. PHP permite conectarse a bases de datos, aplicar programación orientada a objetos, manejar excepciones y expandir sus capacidades a través de módulos.
El documento presenta una introducción a las herramientas y tecnologías para el desarrollo web como HTML, CSS y frameworks. También explica conceptos como datos semiestructurados, XML, RDF, OWL y la web semántica, la cual busca convertir la web en una gran base de datos mediante el uso de ontologías y lenguajes como RDF y SPARQL. Finalmente, introduce los mashups como aplicaciones híbridas que reutilizan contenido y funcionalidad de otras aplicaciones web.
PHP es un lenguaje de programación de código abierto y multiplataforma originalmente diseñado para el desarrollo web. Se puede incorporar directamente en documentos HTML y es interpretado por servidores web para generar páginas dinámicas. PHP es flexible, potente y de alto rendimiento, lo que lo ha hecho popular para sitios con gran demanda de tráfico.
Explotando la Web de Datos: Como crear aplicaciones usando Linked Open DataAlvaro Graves
Este documento presenta una introducción a Linked Data y discute los desafíos y oportunidades de crear aplicaciones basadas en Linked Data. Explica que publicar y consumir Linked Data debería ser sencillo y que se necesitan mejores herramientas que faciliten la integración y el uso de datos enlazados de manera abierta. También destaca la importancia de modelar los datos correctamente y respetar los protocolos y formatos establecidos.
Este documento describe las principales características de las bases de datos SQL y NoSQL. Explica que SQL es un lenguaje de consulta estructurada para bases de datos relacionales, mientras que NoSQL no utiliza SQL como lenguaje de consultas principal y puede almacenar datos de forma no estructurada. También señala que NoSQL surgió para solucionar los problemas de escalabilidad de las bases de datos relacionales ante el gran crecimiento de datos en la web 2.0.
Este documento describe Entity Framework, una herramienta de Microsoft que permite crear aplicaciones de acceso a datos con un modelo conceptual. Entity Framework elimina la necesidad de escribir código de acceso a datos y permite a los desarrolladores trabajar con datos en forma de objetos. El documento analiza las características, ventajas y desventajas de Entity Framework y cómo se puede utilizar en el desarrollo de aplicaciones.
PHP es un lenguaje de programación de código abierto y multiplataforma originalmente diseñado para el desarrollo web. Fue creado en 1994 y ha evolucionado para incluir una interfaz de línea de comandos. PHP es ampliamente usado debido a que es libre, permite conectarse a bases de datos, y tiene una gran cantidad de extensiones y documentación.
2. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 2
Agenda
• Introducción
• ¿Qué es una ontología?
• Aplicaciones
• Elementos de una ontología
• Beneficios de las ontologías
• Principios de construcción
• Pasos para construir ontologías
3. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 3
Agenda
• Desarrollo de ontologías
Lenguajes
RDF/RDF-S
DAML+OIL
OWL
Herramientas
Protégé
RACER
• Agentes y ontologías
• Ejemplo: Ontología de Pizzas
4. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 4
Introducción
• Nuevas tecnologías Web proponen nuevas técnicas y
paradigmas para la representación de conocimiento
que faciliten localizar, compartir e integrar recursos
• Conocimiento semántico explícito que describe y
estructura la información y los servicios disponibles
• Creciente interés en la reutilización, para reducir
recursos, costos y tiempo
5. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 5
¿Qué es una ontología?
• El término es tomando de la filosofía y se refiere a
existencia
• Para la IA, lo que “existe” es aquello que puede ser
representado
• Definición más completa y utilizada es la de Gruber
(1993) y extendida por Studer (1998):
Una especificación explícita y formal de una
conceptualización compartida
6. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 6
¿Qué es una ontología? (cont.)
• Conceptualización: Una forma de entender o describir
un dominio, modelo abstracto
• Explícita: Satisface la necesidad de especificar de
forma consciente los distintos conceptos que
conforman una ontología
• Formal: Sigue alguna especificación formal de un
lenguaje de representación
• Compartida: Conocimiento aceptado como mínimo
por el grupo de personas que van a usarla
7. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 7
Aplicaciones
• Comercio electrónico
• Gestión de conocimientos
• Sistemas de agentes
• Portales de páginas Web
• Indexación de páginas Web
• Recuperación de información
• Procesamiento de lenguaje natural
• Web semántica
8. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 8
Elementos de una ontología
• Conceptos ≈ Clases ≈ Categorías
• Relaciones ≈ Propiedades ≈ Slots
• Funciones
• Instancias
• Axiomas
9. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 9
Beneficios de las ontologías
• Proporcionan una forma de representar y compartir
el conocimiento utilizando un vocabulario común
• Permiten reutilización del conocimiento
• Permiten usar un formato de intercambio de
conocimiento
• Proporcionan un protocolo específico de
comunicación
• Mantienen la semántica de la información
10. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 10
Principios de construcción
• Claridad y Objetividad
• Completitud
• Coherencia
• Máxima Extensibilidad Monótona
• Principio de Distinción Ontológica
• Diversificación
• Estandarización
• Minimización
11. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 11
Pasos para construir ontologías
• Determinar el dominio y el alcance de la ontología
• Considerar reutilizar ontologías existentes
• Enumerar los términos importantes del dominio
• Definir las clases y la jerarquía de las clases
• Definir las propiedades (slots) de las clases
• Definir las restricciones de las propiedades
• Crear instancias
12. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 12
Lenguajes
• Es la forma en que se representa un contexto en
particular
• Garantiza que la ontología sea una especificación
formal explícita
• Existen muchos lenguajes que van a permitir esa
definición
• No todos van a permitir el mismo nivel de
expresividad a la hora de definir ontologías
13. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 13
Lenguajes (cont.)
• Honrubia expone que un lenguaje debe tener los
siguientes requisitos:
Sintaxis bien definida
Semántica bien definida
Suficiente expresividad
Fácilmente maleable
Eficiente a la hora de realizar razonamiento
14. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 14
Lenguajes (cont.)
• El lenguaje a utilizar para modelar ontologías
depende de las características y condiciones que se
necesiten
• Existen lenguajes para definición de ontologías
clasificados de acuerdo a su representatividad y
objetivo
• Algunos son:
RDF/RDF-S
DAML+OIL
OWL
15. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 15
RDF (Resource Description Framework)
• Especificación propuesta por W3C
• Declara meta-información de forma global (URI)
• Información manejable por una máquina
• Basado en XML
• Modelo simple (grafo dirigido)
• Modelo de datos básico consta:
Recursos
Propiedades
Declaraciones
16. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 16
RDF (Resource Description Framework) (cont.)
• RDF es un conjunto de tripletas: sujeto (recurso),
predicado (propiedad) y objeto (valor de la
propiedad)
Subject
Object
Object
Predicate
Predicate
= URI o Node Blank
= Literal (plain or typed)
= Property or Association (URI)
17. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 17
RDF-S (RDF Schema)
• Proporciona un sistema entendible por la máquina
para definir esquemas para vocabularios específicos
• Permite especificar clases de tipos de recursos y
propiedades
• Es un conjunto de recursos RDF (incluyendo clases y
propiedades), y las restricciones en sus relaciones
18. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 18
RDF/RDF-S
• RDF/RDF-S:
Ofrece los mínimos requerimientos para el desarrollo de una
ontología
Expresividad es limitada
Es un lenguaje semántico que une la información de una
página a semántica legible por máquinas
Ofrece pocas restricciones y muy poco razonamiento (casi no
ofrece mecanismos de inferencia)
19. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 19
DAML+OIL (DARPA Agent Markup Language +
Ontology Inference Layer)
• Lenguaje de marcado semántico para los recursos
Web
• Basado en estándares de W3C como RDF/Esquema
RDF, y extiende estos lenguajes modelando
primitivas más poderosas
• DAML+OIL une RDF/RDF-S con una capa de
inferencias para ontologías brindado:
Una semántica precisa para la descripción de significados de
los términos
Un buen razonamiento
20. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 20
DAML+OIL (DARPA Agent Markup Language +
Ontology Inference Layer) (cont.)
• Surge de la unión:
DARPA Agent Mark-Up Language (DAML)
Ontology Inference Layer (OIL)
• DAML+OIL toma lo mejor de DAML y OIL e intenta
combinarlos en un lenguaje que:
Proporciona una manera de buscar información en la Web
“Entienda” la información que se encuentra en la Web
• Es más que apto para la construcción de ontologías
21. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 21
OWL (Web Ontology Language)
• Basado en RDF y DAML+OIL
• Último estándar en los lenguajes para construir
ontologías, desarrollado por W3C
• Tiene fundamentos matemáticos formales basados
en las Lógicas Descriptivas
• Eso permite usar un razonador (RACER) para
comprobar la ontología según se construya
22. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 22
OWL (Web Ontology Language) (cont.)
• Elementos básicos:
Clases (conceptos)
Propiedades (relaciones)
Individuos (instancias)
23. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 23
OWL (Web Ontology Language)
• Representa el significado de términos explícitamente
en vocabularios y las relaciones entre esos términos
• Es la representación de conocimiento más expresiva
para la Web Semántica
• Proporciona tres lenguajes expresivos:
OWL Lite
OWL DL
OWL Full
24. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 24
OWL (Web Ontology Language) (cont.)
• No le agrega más funcionalidades a DAML+OIL, toma
los elementos que este lenguaje proporciona para
adecuarlos y mejorarlos:
Agrega más elementos para enriquecer la representación
semántica e inferencia
Elimina algunos elementos cuyo significado era opaco para
agentes que utilizan el RDF/RDF-S, y los elementos de
restricciones de cardinalidad calificadas
Cambia el nombre de otros elementos manteniendo su
función
• Es el lenguaje de representación de conocimiento
más expresivo para la Web Semántica
25. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 25
OWL (Web Ontology Language) (cont.)
• Elementos de OWL Lite:
RDF-S (Esquema RDF)
Class
rdfs:subClassOf
rdf:Property
rdfs:subPropertyOf
rdfs:domain
rdfs:range
Individual
26. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 26
OWL (Web Ontology Language) (cont.)
• Elementos de OWL Lite:
Igualdad y desigualdad
equivalentClass
equivalentProperty
sameAs
differentFrom
AllDifferent
distinctMembers
27. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 27
OWL (Web Ontology Language) (cont.)
• Elementos de OWL Lite:
Combinaciones booleanas de expresiones de clase
intersectionOF
Características de propiedad
ObjectProperty
DatatypeProperty
inverseOf
TransitiveProperty
SymmetricProperty
FunctionalProperty
InverseFunctionalProperty
28. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 28
OWL (Web Ontology Language) (cont.)
• Elementos de OWL Lite:
Restricciones de propiedad
Restriction
onProperty
allValuesFrom
someValuesFrom
Restricciones de cardinalidad (sólo pueden ser 0 ó 1)
minCardinality
maxCardinality
Cardinality
29. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 29
OWL (Web Ontology Language) (cont.)
• Elementos de OWL Lite:
Propiedades de anotaciones
rdfs:label
rdfs:comment
rdfs:seeAlso
rdfs:isDefinedBy
Elementos para definir la información de la versión, la
información del encabezado y otras propiedades de
anotación
30. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 30
OWL (Web Ontology Language) (cont.)
• Elementos de OWL DL y OWL Full:
Axiomas de clase
oneOf
disjointWith
equivalentClass
rdfs:subClassOf
Combinaciones booleanas de expresiones de clase
intersectionOF
unionOF
complementOF
Rasgos de información de relleno
hasValue
31. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 31
OWL (Web Ontology Language) (cont.)
• Lógica Descriptiva (DL):
La rama lógica dentro de la familia de los marcos (frames)
Subconjuntos de la lógica de primer orden
computacionalmente tratables
Describen relaciones entre conceptos (clases)
Los individuos (instancias) son secundarios, las ontologías no
son bases de datos
Conceptos (clases), Individuos (instancias o ejemplares de
las clases) y Relaciones entre los individuos
32. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 32
OWL (Web Ontology Language) (cont.)
• Clases Definidas versus Clases Primitivas:
Clases Definidas: Se define un conjunto de condiciones
suficientes para reconocer cualquier subclase o instancia de
la clase
Clases Primitivas: Se define sólo, se indican, las
condiciones necesarias que se aplican a todas las instancias
de la clase
• Dominio versus Rango:
Dominio: Una o más clases que se les asigna una propiedad
Rango: Una o más clases donde se obtienen los valores de
una propiedad
33. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 33
OWL (Web Ontology Language) (cont.)
• Construir Ontologías en OWL-DL:
Se comienza por una taxonomía de clases primitivas
Deben formar árboles
Recordar que la condición de clases disjuntas debe establecerse
explícitamente
Hay que tener cuidado
Hacer las disyunciones explícitamente
Razonamiento del mundo abierto
Restricciones universales y existenciales
Restricciones de dominio y rango
34. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 34
OWL (Web Ontology Language) (cont.)
• El principio básico para ontologías normalizadas
Construir ontologías a partir de árboles puros de clases
primitivas
Cada clase primitiva tiene sólo un padre primitivo
35. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 35
OWL (Web Ontology Language) (cont.)
• Errores frecuentes en OWL:
Olvidar hacer explícito que las clases sean disjuntas
No comprender las implicaciones del razonamiento del
mundo abierto
(Mal) Usar restricciones universales en vez de restricciones
existenciales
Confundir dominio y rango
36. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 36
OWL (Web Ontology Language) (cont.)
• Razonamiento Mundo Cerrado versus Razonamiento
Mundo Abierto:
Mundo Cerrado:
La negación como fallo
Si no lo encuentro (o no puedo probarlo) en este mundo, se
asume que es falso
Se usa en sistemas de BD, en programación lógica, lenguajes
de restricciones, entre otros.
Mundo Abierto:
La negación como contradicción
Si no lo encuentro en este mundo, se asume que es posible, a
no ser que sea imposible en cualquier mundo (es una
contradicción). La negación debe ser explícita
Se usa en los demostradores automáticos de teoremas y en los
razonadores DL (y en OWL)
37. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 37
OWL (Web Ontology Language) (cont.)
• Razonamiento del Mundo Abierto:
OWL utiliza la hipótesis de mundo abierto: Open World
Assumption (OWA)
Muchos usuarios de OWL provienen de sistemas de mundo
cerrado como las bases de datos
La información que no se haya añadido de forma explícita a
la base de conocimiento se asume que es información
pérdida o desconocida que podría ser añadida en el futuro
Para eso se usan los axiomas de cierre sobre el atributo
38. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 38
OWL (Web Ontology Language) (cont.)
• Restricciones Universales versus Restricciones
Existenciales:
Las restricciones se usan para limitar las relaciones válidas
entre individuos
La mayoría de los usuarios tienden a usar las restricciones
universales (que afectan todos los valores)
Sin embargo, la mayoría de las veces, el tipo de restricción
corresponde con las restricciones existenciales
Cualquier restricción existencial (someValuesFrom, ∃) que
se rellene con una contradicción es en sí misma una
contradicción
Una restricción universal (allValuesFrom, ∀) que se rellene
con una contradicción puede ser cumplida de forma trivial
39. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 39
OWL (Web Ontology Language) (cont.)
• Dominio y Rango:
Confusión típica porque el dominio y el rango no son
restricciones que se comprueban
Son axiomas que se utilizan para que el razonador haga
ciertas inferencias
Violar una restricción de dominio y rango no significa
necesariamente que la ontología sea inconsistente o que
contenga errores
Las restricciones de dominio y rango son axiomas, en OWL
son equivalentes a restricciones de tipo allValuesFrom
En la mayoría de los sistemas violar una restricción de
dominio y rango provoca un error. En OWL provoca
reclasificación y posiblemente inconsistencias
40. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 40
OWL (Web Ontology Language) (cont.)
• Otros aspectos que suelen ser fuente de confusión:
Aspectos lógicos clásicos
Uso lingüístico frente al uso lógico AND y OR
Diferencias entre las clases primitivas y definidas
Herencia múltiple:
Los conceptos primitivos deberían (idealmente) tener sólo un
concepto padre
41. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 41
Requisitos de los lenguajes
• Los requisitos que cumplen los lenguajes RDF/RDF-S,
DAML+OIL y OWL son:
Requisito RDF/RDF-S DAML+OIL OWL
Sintaxis bien definida
Semántica bien definida
Suficiente expresividad
Fácilmente maleable
Eficiente a la hora de razonar (muy poco)
42. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 42
Funcionalidades de los lenguajes
• Las funcionalidades ofrecidas por los lenguajes
RDF/RDF-S, DAML+OIL y OWL son:
Funcionalidad RDF/RDF-S DAML+OIL OWL
Listas delimitadas
Restricciones de cardinalidad
Expresiones de clase
Tipos de datos (sólo básicos)
Clases definidas
Enumeraciones
Equivalencia
Extensibilidad
Semántica formal
Herencia
Inferencia
Restricciones locales
Restricciones calificadas
Reification
43. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 43
Herramientas
• Las herramientas para desarrollar ontologías son tan
variadas como los lenguajes
• Las herramientas que serán discutidas y utilizadas
son:
Protégé
RACER
44. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 44
Protégé
• Es gratis, open source
• Está basado en Java, es extendible
• Es un editor de ontologías y marco de trabajo de
bases de conocimiento
• Define la estructura de una ontología
• Define y administra instancias
45. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 45
Protégé
• Integrado con GUI y plugins:
OWLWizard – Plugin para guiar paso a paso en la
construcción de clases, propiedades, etc.
OWLViz — Plugin para el despliegue gráfico de las jerarquías
de las clases
ezOWL – Plugin para el despliegue gráfico de las jerarquías
de las clases, las propiedades y restricciones de cada clase
JADEBean Generator — Plugin para producir clases Java a
partir de la ontología, para que JADE puede utilizar y
entender la ontología
46. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 46
RACER
• Razonador (clasificador) basado en lógicas
descriptivas
• Sistema de razonamiento de lógica descriptiva
• Motor de inferencia semántico para desarrollar
ontologías
• Proveedor de la lógica modal KM con calificadas
modalidades y axiomas.
47. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 47
Agentes y ontologías
• Una ontología se escribe en algún lenguaje de
formalización de ontologías que la hace
independiente del contexto de uso
• Varios agentes pueden compartir conocimiento si
están de acuerdo en la semántica dada por una
cierta ontología
• Una ontología común define el vocabulario con el que
los agentes intercambian mensajes (consultas y
asertos)
48. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 48
Agentes y ontologías (cont.)
• Que dos agentes compartan un vocabulario no
significa:
Que compartan la misma base de conocimiento
Que sea capaz de contestar cualquier pregunta formulada
con ese vocabulario
• Un compromiso de un agente con una cierta
ontología garantiza la consistencia pero no la
completitud respecto a las consultas y asertos
utilizando el vocabulario de la ontología
50. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 50
¿Qué se necesita?
• Lenguaje OWL
• Protégé, versión 3.0
Plugin OWL
Plugin OWLWizard
Plugin OWLViz
Plugin ezOWL
Plugin BeanGenerator
• RACER
• Graphviz, versión 1.12
51. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 51
Lo primero es…
• Instalar Protégé, completo
• Colocar el ejecutable de RACER en la ruta deseada
• Abrir Protégé
• Seleccionar OWL Files como formato para el nuevo
proyecto
New para empezar un proyecto nuevo, o Build… para usar
un archivo OWL existente
52. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 52
Lo primero es… (cont.)
• Seleccionar en el menú Project la opción Configure
y marcar:
OWLViz
ezOWL
• Seleccionar en el menú OWL la opción OWL
Preferences y, en la pestaña General en la parte
llamada Language Profile escoger OWL DL
• Guardar el proyecto como pizzaOntology-v1
• Poner a ejecutar RACER
53. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 53
Jerarquía de Clases de la Ontología Pizza
54. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 54
Construcción de la ontología
• Primeras clases a crear:
DomainEntity
SelfStandingEntity (subclase de DomainEntity)
Con el Wizard hacer el grupo de clases:
Pizza – PizzaBase – PizzaTopping (subclases de
SelfStandingEntity)
ThinBase – HeavyBase (subclases de PizzaBase)
VegetableTopping – MeatTopping – FishTopping -
CheeseTopping - FruitTopping (subclases de PizzaTopping)
55. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 55
Construcción de la ontología
• Primeras clases a crear:
Con el Wizard hacer el grupo de clases:
Mushroom – Tomato – HotPepper – Onion (subclases de
VegetalTopping)
Pepperoni – Jam – SpicyBeef (subclases de MeatTopping)
Anchovies – Tuna (subclases de FishTopping)
Mozzarella – Parmesan (subclases de CheeseTopping)
Pineapple (subclase de FruitTopping)
56. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 56
Construcción de la ontología
• Propiedades a crear:
hasPart, dominio Pizza
Subpropiedades de hasPart:
hasBase, dominio Pizza y rango PizzaBase, único valor, por lo
menos una base, funcional y funcional inversa
hasTopping, dominio Pizza y rango PizzaTopping, multiple, al
menos un ingrediente
hasFatContent, dominio PizzaTopping y rango FatContent
hasSpiciness, dominio PizzaTopping y rango Spiciness
57. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 57
Construcción de la ontología
• Clases a crear (subclases de Pizza):
MargheritaPizza: mozzarella y tomato
SpicyBeefPizza: mozarrella, tomato y spicy beef
ProteinLoversPizza: MeatTopping – FishTopping –
CheeseTopping (clase definida, anaranjado)
HotSpecialPizza: mozzarella, tomato, hot pepper y spicy beef
CheesePizza: CheeseTopping (clase definida, anaranjado)
VegetarianPizza: VegetableTopping – CheeseTopping (clase
definida, anaranjado)
58. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 58
Construcción de la ontología
• Clase a crear:
ValuePartition (los valores son disjuntos), usar Wizard –
Create Value Partition:
Spiciness, valores: Hot, Medium, Bland
FatContent, valores: LowFat, HighFat
59. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 59
Ejemplo con BeanGenerator
• Guardar y cerrar el proyecto, si se encuentra abierto
Si se gusta se puede guardar con otro nombre
• Incluir el proyecto
OWLSimpleJADEAbstractOntology.pprj
Abrir con un editor de texto (ej. TextPad) el archivo
pizzaOntology-V1.pprj
Buscar el apartado que inicia: [PROJECT] of Project
Agregar debajo de ese apartado: (included_projects
"OWLSimpleJADEAbstractOntology.pprj")
Guardar y cerrar
• Abrir el proyecto donde realizó la modificación
anterior
60. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 60
Jerarquía de Clases de la Ontología Pizza
61. Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 61
Referencias
• RDF, DAML+OIL y OWL:
http://www.w3.org
http://www.daml.org
• Protégé:
http://protege.stanford.edu
• RACER:
http://www.sts.tu-harburg.de/~r.f.moeller/racer/