Ontología de dominio para representar recursos de información en salud y ciencias biomédicas en el contexto de la Biblioteca Virtual en Salud de Cuba (BVS Cuba).
- Descripción
- Características
- Estructura
- Instalación
- Uso
- Estadísticas
- Vocabularios Reutilizados
- Ejemplos
- Validación
- Contribución
- Citación
- Licencia
- Contacto
Ontomed-BVS es una ontología formal desarrollada en OWL 2 DL para estructurar y enlazar recursos de información en salud del ecosistema cubano. Forma parte de la investigación doctoral:
"Marco de Trabajo para el diseño de un Modelo Conceptual de Datos Abiertos y Enlazados en el contexto de la Biblioteca Virtual en Salud de Cuba"
Autor: Lic. Keilyn Rodríguez Perojo
Directora: Dra. Isabel Galina Russell
Institución: UNAM - Instituto de Investigaciones Bibliotecológicas y de la Información
Año: 2025
- ✅ Representar recursos bibliográficos y documentales en salud
- ✅ Modelar relaciones entre personas, instituciones y obras
- ✅ Integrar vocabularios estándares internacionales
- ✅ Preservar terminología cubana (DeCS vs. MeSH)
- ✅ Facilitar interoperabilidad con sistemas globales
- ✅ Soportar datos abiertos y enlazados (Linked Open Data)
- Estándar: OWL 2 DL (Web Ontology Language)
- Razonamiento: Decidible, validable con Pellet/HermiT
- Serializaciones: OWL/XML, Turtle, RDF/XML
- Namespace:
http://datos.bvs.sld.cu/ontologia/ - Anotaciones: Bilingües (español/inglés)
- Restricciones: Cardinalidad, disyunción, funcionalidad, transitividad
- 14 clases principales (Work, Person, Organization, Collection...)
- 13 subclases especializadas (Article, Hospital, Researcher...)
- 10 propiedades de objeto (hasAuthor, affiliatedWith, isPartOf...)
- 7 propiedades de datos (title, publicationDate, doi...)
- 6 restricciones OWL avanzadas
- Framework extensible hasta 342 entidades
``` ontomed-bvs/ ├── ontology/ # Archivos ontología │ ├── ontomed-bvs.owl # OWL/XML (formato estándar) │ ├── ontomed-bvs.ttl # Turtle (legible) │ └── ontomed-bvs.rdf # RDF/XML (alternativo) ├── docs/ # Documentación │ ├── ANEXO_3C_REFERENCIA.txt # Referencia completa │ ├── JERARQUIA_CLASES.md # Jerarquía visual │ └── GUIA_USO.md # Guía de keilynrp ├── examples/ # Ejemplos de uso │ ├── instancias.ttl # Ejemplos ABox │ └── consultas.sparql # Consultas SPARQL ├── validation/ # Validación │ ├── shacl-shapes.ttl # Shapes SHACL │ └── test-cases.ttl # Casos de prueba ├── .github/ │ └── FUNDING.yml # Financiamiento ├── LICENSE # Licencia CC BY 4.0 ├── README.md # Este archivo ├── CITATION.cff # Citación formal └── CHANGELOG.md # Historial cambios ```
```bash
git clone https://github.com/keilynrp/ontomed-bvs.git cd ontomed-bvs
```
```bash pip install rdflib ```
```python from rdflib import Graph
g = Graph() g.parse("ontology/ontomed-bvs.owl", format="xml")
for s, p, o in g.triples((None, RDF.type, OWL.Class)): print(f"Clase: {s}") ```
```bash
riot --validate ontology/ontomed-bvs.owl
./fuseki-server --file=ontology/ontomed-bvs.owl /ontomed ```
- Descargar Protégé 5.5+
- Abrir
ontology/ontomed-bvs.owl - Explorar clases, propiedades y restricciones
- Activar razonador (Pellet/HermiT) para inferencias
```sparql PREFIX ontomed: http://datos.bvs.sld.cu/ontologia/ PREFIX rdfs: http://www.w3.org/2000/01/rdf-schema#
SELECT ?work ?title ?author WHERE { ?work a ontomed:Work ; ontomed:title ?title ; ontomed:hasAuthor ?author . } ```
Ver más ejemplos en examples/consultas.sparql
```bash
pyshacl -s validation/shacl-shapes.ttl
-m ontology/ontomed-bvs.ttl
-df turtle
examples/instancias.ttl
```
| Componente | Cantidad |
|---|---|
| Clases Principales | 14 |
| Subclases Especializadas | 13 |
| Propiedades de Objeto | 10 |
| Propiedades de Datos | 7 |
| Restricciones OWL | 6 |
| Anotaciones Bilingües | ✓ Todas |
| Total Entidades Base | 50 |
| Framework Extensible | 342 |
| Vocabulario | Prefijo | Uso |
|---|---|---|
| Dublin Core Terms | dct: |
Metadatos descriptivos |
| FOAF | foaf: |
Personas y organizaciones |
| BIBO | bibo: |
Recursos bibliográficos |
| VIVO Core | vivo: |
Investigación académica |
| SKOS | skos: |
Clasificaciones |
| Schema.org | schema: |
Esquemas web generales |
```turtle @prefix ontomed: http://datos.bvs.sld.cu/ontologia/ . @prefix xsd: http://www.w3.org/2001/XMLSchema# .
:DrRojas a ontomed:Person ; rdfs:label "Dr. Francisco Rojas Ochoa"@es ; ontomed:email "[email protected]" ; ontomed:affiliatedWith :EscuelaSaludPublica .
:AnalgesiAcupuntural a ontomed:Work ; ontomed:title "Analgesia acupuntural quirúrgica"@es ; ontomed:abstract "Estudio sobre efectividad de acupuntura..."@es ; ontomed:hasAuthor :DrRojas ; ontomed:publicationDate "2005-03-15"^^xsd:date ; ontomed:language "es" ; ontomed:doi "10.1234/example.2005" . ```
```turtle :HospitalIPK a ontomed:Hospital ; rdfs:label "Instituto de Medicina Tropical Pedro Kourí"@es ; ontomed:locatedIn :LaHabana ; foaf:homepage https://instituciones.sld.cu/ipk/ .
:LaHabana a ontomed:Place ; rdfs:label "La Habana"@es ; rdfs:label "Havana"@en . ```
Ver más ejemplos en examples/instancias.ttl
```bash
riot --validate ontology/ontomed-bvs.owl
rapper -i rdfxml -o turtle ontology/ontomed-bvs.owl > /dev/null ```
```bash
pellet consistency ontology/ontomed-bvs.owl
hermit -c ontology/ontomed-bvs.owl ```
```bash
python validation/run_tests.py ```
Las contribuciones son bienvenidas. Por favor:
- Fork el repositorio
- Crea una rama para tu feature (
git checkout -b feature/NuevaClase) - Commit tus cambios (
git commit -am 'Añadir nueva clase Hospital') - Push a la rama (
git push origin feature/NuevaClase) - Abre un Pull Request
- Mantener anotaciones bilingües (español/inglés)
- Documentar nuevas clases con
rdfs:commenty ejemplos - Validar cambios con Protégé + razonador
- Actualizar CHANGELOG.md
Si utilizas Ontomed-BVS en tu investigación, por favor cita:
```bibtex @phdthesis{rodriguez2025ontomed, author = {Rodríguez Perojo, Keilyn}, title = {Marco de Trabajo para el diseño de un Modelo Conceptual de Datos Abiertos y Enlazados en el contexto de la Biblioteca Virtual en Salud de Cuba}, school = {Universidad Nacional Autónoma de México}, year = {2025}, type = {Tesis Doctoral}, address = {Ciudad de México, México}, note = {Ontología Ontomed-BVS disponible en: https://github.com/keilynrp/ontomed-bvs} } ```
``` Rodríguez Perojo, K. (2025). Marco de Trabajo para el diseño de un Modelo Conceptual de Datos Abiertos y Enlazados en el contexto de la Biblioteca Virtual en Salud de Cuba [Tesis doctoral]. Universidad Nacional Autónoma de México. https://github.com/keilynrp/ontomed-bvs ```
Ver CITATION.cff para más formatos.
Este trabajo está licenciado bajo Creative Commons Attribution 4.0 International (CC BY 4.0).
Eres libre de:
- ✅ Compartir — copiar y redistribuir el material
- ✅ Adaptar — remezclar, transformar y construir sobre el material
Bajo los siguientes términos:
- 📝 Atribución — Debes dar crédito apropiado
Autor: Lic. Keilyn Rodríguez Perojo
Email: [email protected]
Institución: UNAM - Instituto de Investigaciones Bibliotecológicas
GitHub: @keilynrp
ORCID: 0000-0000-0000-0000
Directora de Tesis: Dra. Isabel Galina Russell
Institución: UNAM - Instituto de Investigaciones Bibliotecológicas
- UNAM - Instituto de Investigaciones Bibliotecológicas y de la Información
- Infomed - Centro Nacional de Información de Ciencias Médicas (Cuba)
- BIREME/OPS - Biblioteca Regional de Medicina (Red BVS)
- CONACyT - Consejo Nacional de Ciencia y Tecnología (México)
- v1.0.0 - Ontología base (50 entidades)
- v1.1.0 - Integración con DeCS completo
- v1.2.0 - Subclases médicas especializadas (342 entidades)
- v2.0.0 - Alineamiento con ontologías internacionales (SNOMED CT, ICD-11)
- Documentación Completa
- Jerarquía de Clases
- Guía de Uso
- Ejemplos SPARQL
- Tesis Completa (pendiente publicación)