From 0a6f45cd02287462a1c4e31640c04930710d755c Mon Sep 17 00:00:00 2001 From: Georgy Litvinov Date: Sun, 24 Jan 2021 21:56:09 +0100 Subject: [PATCH] Added template to display compilation --- .../everytime/compilationDataGetters.n3 | 144 ++++++++++++++++++ .../rdf/tbox/filegraph/text_structures.owl | 1 + 2 files changed, 145 insertions(+) create mode 100644 home/src/main/resources/rdf/display/everytime/compilationDataGetters.n3 diff --git a/home/src/main/resources/rdf/display/everytime/compilationDataGetters.n3 b/home/src/main/resources/rdf/display/everytime/compilationDataGetters.n3 new file mode 100644 index 00000000..eb0564b6 --- /dev/null +++ b/home/src/main/resources/rdf/display/everytime/compilationDataGetters.n3 @@ -0,0 +1,144 @@ +@prefix owl: . +@prefix rdf: . +@prefix rdfs: . +@prefix vitro: . +@prefix xsd: . +@prefix ts_: . +@prefix display: . + + + display:hasDataGetter display:getCompilationExcerptsContentDataGetter . + + display:hasDataGetter display:getCompilationExcerptPathsDataGetter . + + display:hasDataGetter display:getCompilationWorksDataGetter . + + display:hasDataGetter display:getCompilationBibliographyDataGetter . + + display:hasDataGetter display:getCompilationAuthorsDataGetter . + + display:hasDataGetter display:getCompilationRubricsDataGetter . + +display:getCompilationExcerptsContentDataGetter + a ; + display:saveToVar "excerpts"; + display:query + """ + PREFIX rdfs: + PREFIX ts_: + SELECT ?elenphExcerpt ?htmlLabel ?htmlContent (COUNT (distinct ?excerptWorks) as ?worksCounter) (COUNT (distinct ?excerptBibliography) as ?bibliographyCounter) + WHERE { + ?individualURI ts_:hasTOC ?toc . + ?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?elenphExcerpt . + ?elenphExcerpt ts_:htmlExcerpt ?htmlContent . + ?elenphExcerpt rdfs:label ?htmlLabel . + OPTIONAL{ ?elenphExcerpt ts_:works ?excerptWorks . } + OPTIONAL{ ?elenphExcerpt ts_:bibliography ?excerptBibliography . } + } GROUP BY ?elenphExcerpt ?htmlLabel ?htmlContent ORDER BY ?elenphExcerpt + """ . + +display:getCompilationExcerptPathsDataGetter + a ; + display:saveToVar "paths"; + display:query + """ + PREFIX rdfs: + PREFIX rdf: + PREFIX ts_: + SELECT (GROUP_CONCAT(substr(concat("000",str(?outline)),strlen(str(?outline))); SEPARATOR = ".") AS ?path ) ?tocElement ?elenphExcerpt + WHERE { + ?individualURI ts_:hasTOC ?toc . + ?toc ts_:hasTOCItem/(ts_:pointsTo/ts_:hasTOCItem)* ?tmpTOCItem . + ?tmpTOCItem rdf:type ts_:TOCItem . + ?tmpTOCItem ts_:pointsTo/(ts_:hasTOCItem/ts_:pointsTo)* ?tocElement . + ?tmpTOCItem ts_:itemNumber ?outline . + OPTIONAL { + ?tocElement ts_:hasText ?elenphExcerpt . + } + { + SELECT ?tocElement + WHERE { + ?individualURI ts_:hasTOC ?toc . + ?toc (ts_:hasTOCItem/ts_:pointsTo)+ ?tocElement . + ?tocElement rdf:type ts_:TOCLevel . + } + } + } GROUP BY ?tocElement ?elenphExcerpt ORDER BY ?path + """ . + +display:getCompilationBibliographyDataGetter + a ; + display:saveToVar "bibliography"; + display:query + """ + PREFIX rdfs: + PREFIX ts_: + PREFIX rdf: + SELECT DISTINCT ?bibliography ?elenphExcerpt + WHERE { + ?individualURI ts_:hasTOC ?toc . + ?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?elenphExcerpt . + ?elenphExcerpt ts_:bibliography ?bibliography . + } ORDER BY ?bibliography + """ . + +display:getCompilationWorksDataGetter + a ; + display:saveToVar "works"; + display:query + """ + PREFIX rdfs: + PREFIX ts_: + PREFIX rdf: + SELECT DISTINCT ?works ?elenphExcerpt + WHERE { + ?individualURI ts_:hasTOC ?toc . + ?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?elenphExcerpt . + ?elenphExcerpt ts_:works ?works . + } ORDER BY ?works + """ . + +display:getCompilationAuthorsDataGetter + a ; + display:saveToVar "authors"; + display:query + """ + PREFIX rdfs: + PREFIX ts_: + PREFIX rdf: + SELECT DISTINCT ?authorInitials ?authorFamily ?authorGivenName ?orgName ?orgPostalCode ?orgAddress + WHERE { + ?individualURI ts_:hasTOC ?toc . + ?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?elenphExcerpt . + ?elenphExcerpt ts_:hasAuthor ?participant . + ?participant ts_:participantFamily ?authorFamily . + ?participant ts_:participantInitials ?authorInitials . + ?participant ts_:participantGivenName ?authorGivenName . + OPTIONAL { ?participant ts_:affiliatedWith ?organization . + OPTIONAL { ?organization ts_:officialOrganizationName ?orgName } . + OPTIONAL { ?organization ts_:organizationPostalCode ?orgPostalCode } . + OPTIONAL { ?organization ts_:organizationAddress ?orgAddress } . + } + + } ORDER BY ?authorFamily + """ . + +display:getCompilationRubricsDataGetter + a ; + display:saveToVar "rubrics"; + display:query + """ + PREFIX rdfs: + PREFIX ts_: + PREFIX rdf: + PREFIX pr: + SELECT DISTINCT ?rubricID ?rubricName + WHERE { + ?uri ts_:hasTOC ?toc . + ?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?artExcerpt . + ?artExcerpt pr:belongsTo ?rubricID . + ?rubricID rdfs:label ?rubricName . + } ORDER BY ?rubricID + """ . + + diff --git a/home/src/main/resources/rdf/tbox/filegraph/text_structures.owl b/home/src/main/resources/rdf/tbox/filegraph/text_structures.owl index 556cb5f2..58c3dcde 100644 --- a/home/src/main/resources/rdf/tbox/filegraph/text_structures.owl +++ b/home/src/main/resources/rdf/tbox/filegraph/text_structures.owl @@ -128,6 +128,7 @@ + elenphAritcle.ftl Compilation edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.CompilationGenerator