VIVO-829: update editor of list view to use full citation. Just cause.

This commit is contained in:
Tim Worrall 2014-07-16 16:07:59 -04:00
parent fd6c3f1ba1
commit c4f01e9cb0
3 changed files with 218 additions and 10 deletions

View file

@ -16,12 +16,36 @@
?editorship
?infoResource ?infoResourceName
?dateTime
?journal
?volume
?startPage
?endPage
?publisher
?locale
?appearsIn
?partOf
WHERE {
?subject ?property ?editorship .
?editorship core:relates ?infoResource .
?infoResource a <http://purl.obolibrary.org/obo/IAO_0000030> .
?infoResource rdfs:label ?infoResourceName .
OPTIONAL { ?infoResource bibo:volume ?volume }
OPTIONAL { ?infoResource bibo:pageStart ?startPage }
OPTIONAL { ?infoResource bibo:pageEnd ?endPage }
OPTIONAL { ?infoResource core:placeOfPublication ?locale }
OPTIONAL { ?infoResource bibo:reproducedIn ?appearsInObj .
?appearsInObj rdfs:label ?appearsIn
}
OPTIONAL { ?infoResource core:publisher ?publisherObj .
?publisherObj rdfs:label ?publisher
}
OPTIONAL { ?infoResource <http://purl.obolibrary.org/obo/BFO_0000050> ?partOfObj .
?partOfObj rdfs:label ?partOf
}
OPTIONAL { ?infoResource core:hasPublicationVenue ?publishedIn .
?publishedIn rdfs:label ?journal
}
OPTIONAL { ?infoResource vitro:mostSpecificType ?subclass }
OPTIONAL { ?infoResource core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime
@ -58,31 +82,148 @@
PREFIX bibo: <http://purl.org/ontology/bibo/>
CONSTRUCT {
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship ?editorshipProperty ?editorshipValue .
?editorship core:relates ?infoResource .
?infoResource a <http://purl.obolibrary.org/obo/IAO_0000030> .
?infoResource rdfs:label ?infoResourceName .
?infoResource core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime
?infoResource core:hasPublicationVenue ?publishedIn .
?publishedIn rdfs:label ?journal
} WHERE {
{
?subject ?property ?editorship .
?editorship a core:Editorship
}
UNION {
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship ?editorshipProperty ?editorshipValue
} UNION {
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a <http://purl.obolibrary.org/obo/IAO_0000030>
} UNION {
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a <http://purl.obolibrary.org/obo/IAO_0000030> .
?infoResource rdfs:label ?infoResourceName
} UNION {
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a <http://purl.obolibrary.org/obo/IAO_0000030> .
?infoResource core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a <http://purl.obolibrary.org/obo/IAO_0000030> .
?infoResource core:hasPublicationVenue ?publishedIn
} UNION {
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a <http://purl.obolibrary.org/obo/IAO_0000030> .
?infoResource core:hasPublicationVenue ?publishedIn .
?publishedIn rdfs:label ?journal
}
}
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt;
PREFIX foaf: &lt;http://xmlns.com/foaf/0.1/&gt;
CONSTRUCT {
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship ?editorshipProperty ?editorshipValue .
?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource ?infoResourceProperty ?infoResourceValue .
?infoResource bibo:reproducedIn ?appearsInObj .
?infoResource core:publisher ?publisherObj .
?infoResource core:relatedBy ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?editorObj .
?editorObj a foaf:Person .
?infoResource &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?partOfObj .
?appearsInObj rdfs:label ?appearsIn .
?publisherObj rdfs:label ?publisher .
?editorObj rdfs:label ?editor .
?partOfObj rdfs:label ?partOf
} WHERE {
{
?subject ?property ?editorship .
?editorship a core:Editorship
}
UNION {
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship ?editorshipProperty ?editorshipValue
} UNION {
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
} UNION {
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource ?infoResourceProperty ?infoResourceValue
} UNION {
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource bibo:reproducedIn ?appearsInObj .
?appearsInObj rdfs:label ?appearsIn
} UNION {
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource core:publisher ?publisherObj .
?publisherObj rdfs:label ?publisher
} UNION {
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource core:relatedBy ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?editorObj .
?editorObj a foaf:Person .
?editorObj rdfs:label ?editor
} UNION {
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource &lt;http://purl.obolibrary.org/obo/BFO_0000050&gt; ?partOfObj .
?partOfObj rdfs:label ?partOf
}
}
</query-construct>
<query-construct>
PREFIX core: &lt;http://vivoweb.org/ontology/core#&gt;
PREFIX rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX bibo: &lt;http://purl.org/ontology/bibo/&gt;
CONSTRUCT {
?subject ?property ?editorship .
?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource rdfs:label ?infoResourceName .
?infoResource core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime
} WHERE {
?subject ?property ?editorship .
?editorship a core:Editorship .
?editorship core:relates ?infoResource .
?infoResource a &lt;http://purl.obolibrary.org/obo/IAO_0000030&gt; .
?infoResource rdfs:label ?infoResourceName .
?infoResource core:dateTimeValue ?dateTimeValue .
?dateTimeValue core:dateTime ?dateTime
}
</query-construct>
<template>propStatement-editorship.ftl</template>

View file

@ -14,6 +14,71 @@
<#-- Use a macro to keep variable assignments local; otherwise the values carry over to the
next statement -->
<#macro showEditorship statement>
<#local citationDetails>
<#if statement.subclass??>
<#if statement.subclass?contains("Article")>
<#if statement.journal??>
<em>${statement.journal!}</em>.&nbsp;
<#if statement.volume?? && statement.startPage?? && statement.endPage??>
${statement.volume!}:${statement.startPage!}-${statement.endPage!}.
<#elseif statement.volume?? && statement.startPage??>
${statement.volume!}:${statement.startPage!}.
<#elseif statement.volume??>
${statement.volume!}.
<#elseif statement.startPage?? && statement.endPage??>
${statement.startPage!}-${statement.endPage!}.
<#elseif statement.startPage??>
${statement.startPage!}.
</#if>
</#if>
<#elseif statement.subclass?contains("Chapter")>
<#if statement.journal??>
<em>${statement.journal!}</em>.
<#elseif statement.appearsIn??>
<em>${statement.appearsIn!}</em>.
<#elseif statement.partOf??>
<em>${statement.partOf!}</em>.
</#if>
<#if statement.locale?? && statement.publisher??>
${statement.locale!}:&nbsp;${statement.publisher!}.
<#elseif statement.locale??>
${statement.locale!}.
<#elseif statement.publisher??>
${statement.publisher!}.
</#if>
<#if statement.startPage?? && statement.endPage??>
${statement.startPage!}-${statement.endPage!}.
<#elseif statement.startPage??>
${statement.startPage!}.
</#if>
<#elseif statement.subclass?contains("Book")>
<#if statement.volume?? && (statement.volume!?length > 0 )>
${i18n().volume_abbreviated}&nbsp;${statement.volume!}.&nbsp;
</#if>
<#if statement.locale?? && statement.publisher??>
${statement.locale!}:&nbsp;${statement.publisher!}.
<#elseif statement.locale??>
${statement.locale!}.
<#elseif statement.publisher??>
${statement.publisher!}.
</#if>
<#else>
<#if statement.journal??>
<em>${statement.journal!}</em>.
<#elseif statement.appearsIn??>
<em>${statement.appearsIn!}</em>.
<#elseif statement.partOf??>
<em>${statement.partOf!}</em>.
</#if>
<#if statement.startPage?? && statement.endPage??>
${statement.startPage!}-${statement.endPage!}.
<#elseif statement.startPage??>
${statement.startPage!}.
</#if>
</#if>
</#if>
</#local>
<#local resourceTitle>
<#if statement.infoResource??>
<#if citationDetails?has_content>
@ -27,5 +92,5 @@
</#if>
</#local>
${resourceTitle} <@dt.yearSpan "${statement.dateTime!}" />
${resourceTitle} ${citationDetails} <@dt.yearSpan "${statement.dateTime!}" />
</#macro>

View file

@ -634,6 +634,8 @@ local:editorOfConfig a :ObjectPropertyDisplayConfig ;
:listViewConfigFile "listViewConfig-editorship.xml"^^xsd:string ;
:displayName "editor of" ;
vitro:displayRankAnnot 20;
vitro:collateBySubclassAnnot
"true"^^xsd:boolean;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddEditorshipToPersonGenerator"^^<http://www.w3.org/2001/XMLSchema#string> ;