; STANFORD-II Ontology

; REFERENCE

(cl-define-primitive-concept 'reference 'CLASSIC-THING)
(cl-define-primitive-role 'author)
(cl-define-primitive-role 'editor)
(cl-define-primitive-role 'keywords)
(cl-define-primitive-role 'notes)
(cl-define-primitive-role 'secondary-author)
(cl-define-primitive-role 'secondary-title)
(cl-define-primitive-role 'series-editor)
(cl-define-primitive-role 'tertiary-author)
(cl-define-primitive-role 'translator)
(cl-define-primitive-role 'abstract)
(cl-define-primitive-role 'booktitle)
(cl-define-primitive-role 'day)
(cl-define-primitive-role 'document)
(cl-define-primitive-role 'edition)
(cl-define-primitive-role 'issue)
(cl-define-primitive-role 'month)
(cl-define-primitive-role 'number-of-volumes)
(cl-define-primitive-role 'organization)
(cl-define-primitive-role 'pages)
(cl-define-primitive-role 'periodical)
(cl-define-primitive-role 'publisher)
(cl-define-primitive-role 'report-number)
(cl-define-primitive-role 'title)
(cl-define-primitive-role 'type-of-work)
(cl-define-primitive-role 'volume)
(cl-define-primitive-role 'year)

; PUBLICATION-REFERENCE

(cl-define-primitive-concept 'publication-ref 'reference)

(cl-define-primitive-concept 'book-ref 'publication-ref)
(cl-define-primitive-concept 'edited-book-ref 'book-ref)

(cl-define-primitive-concept 'book-section-ref 'publication-ref)

(cl-define-primitive-concept 'article-ref 'publication-ref)
(cl-define-concept 'journal-article-ref '(and article-ref (fills type-of-work "journal")))
(cl-define-concept 'magazine-article-ref '(and article-ref (fills type-of-work "magazine")))
(cl-define-primitive-role 'magazine-name)
(cl-define-concept 'newspaper-article-ref '(and article-ref (fills type-of-work "newspaper")))
(cl-define-primitive-role 'newspaper-name)

(cl-define-concept 'proceedings-paper-ref '(and publication-ref (fills type-of-work "proceeding")))

(cl-define-concept 'thesis-ref '(and publication-ref (fills type-of-work "thesis")))
(cl-define-concept 'master-thesis-ref '(and thesis-ref (fills type-of-work "master")))
(cl-define-concept 'doctoral-thesis-ref '(and thesis-ref (fills type-of-work "doctoral")))

(cl-define-concept 'technical-report-ref '(and publication-ref (fills type-of-work "technical report")))

(cl-define-primitive-concept 'misc-publication-ref 'publication-ref)
(cl-define-concept 'technical-manual-ref '(and misc-publication-ref (fills type-of-work "technical manual")))
(cl-define-concept 'computer-program-ref '(and misc-publication-ref (fills type-of-work "computer program")))
(cl-define-primitive-concept 'artwork-ref 'misc-publication-ref)
(cl-define-concept 'cartographic-map-ref '(and misc-publication-ref (fills type-of-work "map")))
(cl-define-primitive-concept 'multimedia-document-ref 'misc-publication-ref)

; NON-PUBLICATION REFERENCE

(cl-define-primitive-concept 'non-publication-ref 'reference)

(cl-define-primitive-concept 'personal-communication-ref 'non-publication-ref)

(cl-define-primitive-concept 'generic-unpublished-ref 'non-publication-ref)
