(! Creacion de la ontologia bdi)

(reset-knowledge-base)


(new-tbox STRING-TBOX String)
(! current-tbox CADENAS-TBOX)
(new-tbox NUMERIC-TBOX Numeric)

(! Creo una tbox para la ontologia)

(new-tbox Aneto)

(current-tbox Aneto)

(! anado todos los conceptos y roles de BDI)

(define-primitive-concept DOCUMENTO)

(! Definicion de las referencias)

(define-primitive-role-connector colaboradores-value STRING-TBOX)
(define-primitive-role-connector todosAutores-value STRING-TBOX)
(define-primitive-role-connector editorial-value STRING-TBOX)
(define-primitive-role-connector edicion-value STRING-TBOX)
(define-primitive-role-connector formatoPaginas-value STRING-TBOX)
(define-primitive-role-connector tituloColeccion-value STRING-TBOX)
(define-primitive-role-connector otroTituloColeccion-value STRING-TBOX)
(define-primitive-role-connector materia-value STRING-TBOX)
(define-primitive-role-connector signatura-value STRING-TBOX)
(define-primitive-role-connector tituloAbreviado-value STRING-TBOX)
(define-primitive-role-connector isbnNrContr-value STRING-TBOX)
(define-primitive-role-connector clasificacion-value STRING-TBOX)
(define-primitive-role-connector nota-value STRING-TBOX)
(define-primitive-role-connector notas-value STRING-TBOX)
(define-primitive-role-connector periodicidad-value STRING-TBOX)
(define-primitive-role-connector biblioteca-value STRING-TBOX)
(define-primitive-role-connector lugar-value STRING-TBOX)
(define-primitive-role-connector numeroCopias-value STRING-TBOX)
(define-primitive-role-connector numeroPrestamos-value STRING-TBOX)
(define-primitive-role-connector tipo-value STRING-TBOX)
(define-primitive-role-connector lenguaje-value STRING-TBOX)
(define-primitive-role-connector fecha-value STRING-TBOX)
(define-primitive-role-connector estado-value STRING-TBOX)
(define-primitive-role-connector firmaAutor-value STRING-TBOX)
(define-primitive-role-connector otrasFirmas-value STRING-TBOX)
(define-primitive-role-connector colaboradores-value STRING-TBOX)
(define-primitive-role-connector otroTitulo-value STRING-TBOX)
(define-primitive-role-connector pais-value STRING-TBOX)

(define-primitive-role-connector colaboradores-count NUMERIC-TBOX)
(define-primitive-role-connector todosAutores-count NUMERIC-TBOX)
(define-primitive-role-connector editorial-count NUMERIC-TBOX)
(define-primitive-role-connector edicion-count NUMERIC-TBOX)
(define-primitive-role-connector formatoPaginas-count NUMERIC-TBOX)
(define-primitive-role-connector tituloColeccion-count NUMERIC-TBOX)
(define-primitive-role-connector otroTituloColeccion-count NUMERIC-TBOX)
(define-primitive-role-connector materia-count NUMERIC-TBOX)
(define-primitive-role-connector signatura-count NUMERIC-TBOX)
(define-primitive-role-connector tituloAbreviado-count NUMERIC-TBOX)
(define-primitive-role-connector isbnNrContr-count NUMERIC-TBOX)
(define-primitive-role-connector clasificacion-count NUMERIC-TBOX)
(define-primitive-role-connector nota-count NUMERIC-TBOX)
(define-primitive-role-connector notas-count NUMERIC-TBOX)
(define-primitive-role-connector periodicidad-count NUMERIC-TBOX)
(define-primitive-role-connector biblioteca-count NUMERIC-TBOX)
(define-primitive-role-connector lugar-count NUMERIC-TBOX)
(define-primitive-role-connector numeroCopias-count NUMERIC-TBOX)
(define-primitive-role-connector numeroPrestamos-count NUMERIC-TBOX)
(define-primitive-role-connector tipo-count NUMERIC-TBOX)
(define-primitive-role-connector lenguaje-count NUMERIC-TBOX)
(define-primitive-role-connector fecha-count NUMERIC-TBOX)
(define-primitive-role-connector estado-count NUMERIC-TBOX)
(define-primitive-role-connector firmaAutor-count NUMERIC-TBOX)
(define-primitive-role-connector otrasFirmas-count NUMERIC-TBOX)
(define-primitive-role-connector colaboradores-count NUMERIC-TBOX)
(define-primitive-role-connector otroTitulo-count NUMERIC-TBOX)
(define-primitive-role-connector pais-count NUMERIC-TBOX)

(define-concept REVISTA (AND DOCUMENTO (SOME periodicidad-count (>= 1))))

(define-concept PUBLICACION (AND DOCUMENTO (SOME todosAutores-count (>= 1))
    (SOME materia-count (>= 1)) (SOME isbnNrContr-count (>= 1))))
