VIVO-481, VIVO-477, VIVO-475 and VIVO-471
This commit is contained in:
commit
06e1a2c255
37 changed files with 1099 additions and 345 deletions
|
@ -47,7 +47,7 @@
|
||||||
?editorship core:relates ?editorObj .
|
?editorship core:relates ?editorObj .
|
||||||
?editorObj rdfs:label ?editor
|
?editorObj rdfs:label ?editor
|
||||||
}
|
}
|
||||||
OPTIONAL { ?infoResource core:partOf ?partOfObj .
|
OPTIONAL { ?infoResource <http://purl.obolibrary.org/obo/BFO_0000050> ?partOfObj .
|
||||||
?partOfObj rdfs:label ?partOf
|
?partOfObj rdfs:label ?partOf
|
||||||
}
|
}
|
||||||
OPTIONAL { ?infoResource vitro:mostSpecificType ?subclass }
|
OPTIONAL { ?infoResource vitro:mostSpecificType ?subclass }
|
||||||
|
@ -152,7 +152,7 @@
|
||||||
?editorship a core:Editorship .
|
?editorship a core:Editorship .
|
||||||
?editorship core:relates ?editorObj .
|
?editorship core:relates ?editorObj .
|
||||||
?editorObj a foaf:Person .
|
?editorObj a foaf:Person .
|
||||||
?infoResource core:partOf ?partOfObj .
|
?infoResource <http://purl.obolibrary.org/obo/BFO_0000050> ?partOfObj .
|
||||||
?appearsInObj rdfs:label ?appearsIn .
|
?appearsInObj rdfs:label ?appearsIn .
|
||||||
?publisherObj rdfs:label ?publisher .
|
?publisherObj rdfs:label ?publisher .
|
||||||
?editorObj rdfs:label ?editor .
|
?editorObj rdfs:label ?editor .
|
||||||
|
@ -206,7 +206,7 @@
|
||||||
?authorship a core:Authorship .
|
?authorship a core:Authorship .
|
||||||
?authorship core:relates ?infoResource .
|
?authorship core:relates ?infoResource .
|
||||||
?infoResource a <http://purl.obolibrary.org/obo/IAO_0000030> .
|
?infoResource a <http://purl.obolibrary.org/obo/IAO_0000030> .
|
||||||
?infoResource core:partOf ?partOfObj .
|
?infoResource <http://purl.obolibrary.org/obo/BFO_0000050> ?partOfObj .
|
||||||
?partOfObj rdfs:label ?partOf
|
?partOfObj rdfs:label ?partOf
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,12 +33,13 @@
|
||||||
}
|
}
|
||||||
OPTIONAL { ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
|
OPTIONAL { ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
|
||||||
?activity a core:Grant .
|
?activity a core:Grant .
|
||||||
?activity core:grantAwardedBy ?awardedBy .
|
?activity core:assignedBy ?awardedBy .
|
||||||
?awardedBy rdfs:label ?awardedByLabel
|
?awardedBy rdfs:label ?awardedByLabel
|
||||||
}
|
}
|
||||||
OPTIONAL { ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
|
OPTIONAL { ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
|
||||||
?activity a core:Grant .
|
?activity a core:Grant .
|
||||||
?activity core:administeredBy ?adminedBy .
|
?activity core:relates ?adminedByRole .
|
||||||
|
?adminedByRole <http://purl.obolibrary.org/obo/RO_0000052> ?adminedBy .
|
||||||
?adminedBy rdfs:label ?adminedByLabel
|
?adminedBy rdfs:label ?adminedByLabel
|
||||||
}
|
}
|
||||||
OPTIONAL { ?role core:dateTimeInterval ?dateTimeIntervalRole .
|
OPTIONAL { ?role core:dateTimeInterval ?dateTimeIntervalRole .
|
||||||
|
@ -66,6 +67,7 @@
|
||||||
<query-construct>
|
<query-construct>
|
||||||
PREFIX core: <http://vivoweb.org/ontology/core#>
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
|
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
|
||||||
CONSTRUCT {
|
CONSTRUCT {
|
||||||
?subject ?property ?role .
|
?subject ?property ?role .
|
||||||
?role a core:CoPrincipalInvestigatorRole .
|
?role a core:CoPrincipalInvestigatorRole .
|
||||||
|
@ -73,9 +75,10 @@
|
||||||
?activity a core:Grant .
|
?activity a core:Grant .
|
||||||
?role ?roleProperty ?roleValue .
|
?role ?roleProperty ?roleValue .
|
||||||
?activity rdfs:label ?activityLabel .
|
?activity rdfs:label ?activityLabel .
|
||||||
?activity core:grantAwardedBy ?awardedBy .
|
?activity core:assignedBy ?awardedBy .
|
||||||
?awardedBy rdfs:label ?awardedByLabel .
|
?awardedBy rdfs:label ?awardedByLabel .
|
||||||
?activity core:administeredBy ?adminedBy .
|
?activity core:relates ?adminedByRole .
|
||||||
|
?adminedByRole <http://purl.obolibrary.org/obo/RO_0000052> ?adminedBy .
|
||||||
?adminedBy rdfs:label ?adminedByLabel
|
?adminedBy rdfs:label ?adminedByLabel
|
||||||
} WHERE {
|
} WHERE {
|
||||||
{
|
{
|
||||||
|
@ -96,14 +99,18 @@
|
||||||
?role a core:CoPrincipalInvestigatorRole .
|
?role a core:CoPrincipalInvestigatorRole .
|
||||||
?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
|
?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
|
||||||
?activity a core:Grant .
|
?activity a core:Grant .
|
||||||
?activity core:grantAwardedBy ?awardedBy .
|
?activity core:assignedBy ?awardedBy .
|
||||||
|
?awardedBy a foaf:Organization .
|
||||||
?awardedBy rdfs:label ?awardedByLabel
|
?awardedBy rdfs:label ?awardedByLabel
|
||||||
} UNION {
|
} UNION {
|
||||||
?subject ?property ?role .
|
?subject ?property ?role .
|
||||||
?role a core:CoPrincipalInvestigatorRole .
|
?role a core:CoPrincipalInvestigatorRole .
|
||||||
?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
|
?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
|
||||||
?activity a core:Grant .
|
?activity a core:Grant .
|
||||||
?activity core:administeredBy ?adminedBy .
|
?activity core:relates ?adminedByRole .
|
||||||
|
?adminedByRole a core:AdminsitratorRole.
|
||||||
|
?adminedByRole <http://purl.obolibrary.org/obo/RO_0000052> ?adminedBy .
|
||||||
|
?adminedBy a foaf:Organization .
|
||||||
?adminedBy rdfs:label ?adminedByLabel
|
?adminedBy rdfs:label ?adminedByLabel
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,12 +34,13 @@
|
||||||
}
|
}
|
||||||
OPTIONAL { ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
|
OPTIONAL { ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
|
||||||
?activity a core:Grant .
|
?activity a core:Grant .
|
||||||
?activity core:grantAwardedBy ?awardedBy .
|
?activity core:assignedBy ?awardedBy .
|
||||||
?awardedBy rdfs:label ?awardedByLabel
|
?awardedBy rdfs:label ?awardedByLabel
|
||||||
}
|
}
|
||||||
OPTIONAL { ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
|
OPTIONAL { ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
|
||||||
?activity a core:Grant .
|
?activity a core:Grant .
|
||||||
?activity core:administeredBy ?adminedBy .
|
?activity core:relates ?adminedByRole .
|
||||||
|
?adminedByRole <http://purl.obolibrary.org/obo/RO_0000052> ?adminedBy .
|
||||||
?adminedBy rdfs:label ?adminedByLabel
|
?adminedBy rdfs:label ?adminedByLabel
|
||||||
}
|
}
|
||||||
OPTIONAL { ?role core:dateTimeInterval ?dateTimeIntervalRole .
|
OPTIONAL { ?role core:dateTimeInterval ?dateTimeIntervalRole .
|
||||||
|
@ -68,6 +69,7 @@
|
||||||
<query-construct>
|
<query-construct>
|
||||||
PREFIX core: <http://vivoweb.org/ontology/core#>
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
|
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
|
||||||
CONSTRUCT {
|
CONSTRUCT {
|
||||||
?subject ?property ?role .
|
?subject ?property ?role .
|
||||||
?role a core:InvestigatorRole .
|
?role a core:InvestigatorRole .
|
||||||
|
@ -75,9 +77,10 @@
|
||||||
?activity a core:Grant .
|
?activity a core:Grant .
|
||||||
?role ?roleProperty ?roleValue .
|
?role ?roleProperty ?roleValue .
|
||||||
?activity rdfs:label ?activityLabel .
|
?activity rdfs:label ?activityLabel .
|
||||||
?activity core:grantAwardedBy ?awardedBy .
|
?activity core:assignedBy ?awardedBy .
|
||||||
?awardedBy rdfs:label ?awardedByLabel .
|
?awardedBy rdfs:label ?awardedByLabel .
|
||||||
?activity core:administeredBy ?adminedBy .
|
?activity core:relates ?adminedByRole .
|
||||||
|
?adminedByRole <http://purl.obolibrary.org/obo/RO_0000052> ?adminedBy .
|
||||||
?adminedBy rdfs:label ?adminedByLabel
|
?adminedBy rdfs:label ?adminedByLabel
|
||||||
} WHERE {
|
} WHERE {
|
||||||
{
|
{
|
||||||
|
@ -98,14 +101,18 @@
|
||||||
?role a core:InvestigatorRole .
|
?role a core:InvestigatorRole .
|
||||||
?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
|
?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
|
||||||
?activity a core:Grant .
|
?activity a core:Grant .
|
||||||
?activity core:grantAwardedBy ?awardedBy .
|
?activity core:assignedBy ?awardedBy .
|
||||||
|
?awardedBy a foaf:Organization .
|
||||||
?awardedBy rdfs:label ?awardedByLabel
|
?awardedBy rdfs:label ?awardedByLabel
|
||||||
} UNION {
|
} UNION {
|
||||||
?subject ?property ?role .
|
?subject ?property ?role .
|
||||||
?role a core:InvestigatorRole .
|
?role a core:InvestigatorRole .
|
||||||
?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
|
?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
|
||||||
?activity a core:Grant .
|
?activity a core:Grant .
|
||||||
?activity core:administeredBy ?adminedBy .
|
?activity core:relates ?adminedByRole .
|
||||||
|
?adminedByRole a core:AdminsitratorRole.
|
||||||
|
?adminedByRole <http://purl.obolibrary.org/obo/RO_0000052> ?adminedBy .
|
||||||
|
?adminedBy a foaf:Organization .
|
||||||
?adminedBy rdfs:label ?adminedByLabel
|
?adminedBy rdfs:label ?adminedByLabel
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,16 +52,16 @@
|
||||||
}
|
}
|
||||||
OPTIONAL { ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
|
OPTIONAL { ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
|
||||||
?presentation a vivo:Presentation .
|
?presentation a vivo:Presentation .
|
||||||
?presentation vivo:inEventWithin ?series .
|
?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?series .
|
||||||
?series vivo:seriesForEvent ?presentation .
|
?series <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation .
|
||||||
?series rdfs:label ?seriesLabel
|
?series rdfs:label ?seriesLabel
|
||||||
}
|
}
|
||||||
OPTIONAL { ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
|
OPTIONAL { ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
|
||||||
?presentation a vivo:Presentation .
|
?presentation a vivo:Presentation .
|
||||||
?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?workshop .
|
?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?workshop .
|
||||||
?workshop <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation .
|
?workshop <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation .
|
||||||
?workshop vivo:inEventSeries ?series .
|
?workshop <http://purl.obolibrary.org/obo/BFO_0000050> ?series .
|
||||||
?series vivo:seriesForEvent ?workshop .
|
?series <http://purl.obolibrary.org/obo/BFO_0000051> ?workshop .
|
||||||
?series rdfs:label ?seriesLabel
|
?series rdfs:label ?seriesLabel
|
||||||
}
|
}
|
||||||
<collated>
|
<collated>
|
||||||
|
@ -200,8 +200,8 @@
|
||||||
?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
|
?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
|
||||||
?presentation a vivo:Presentation .
|
?presentation a vivo:Presentation .
|
||||||
?series a vivo:EventSeries .
|
?series a vivo:EventSeries .
|
||||||
?presentation vivo:inEventSeries ?series .
|
?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?series .
|
||||||
?series vivo:seriesForEvent ?presentation .
|
?series <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation .
|
||||||
?series rdfs:label ?seriesLabel
|
?series rdfs:label ?seriesLabel
|
||||||
} WHERE {
|
} WHERE {
|
||||||
|
|
||||||
|
@ -214,8 +214,8 @@
|
||||||
?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
|
?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation .
|
||||||
?presentation a vivo:Presentation .
|
?presentation a vivo:Presentation .
|
||||||
?series a vivo:EventSeries .
|
?series a vivo:EventSeries .
|
||||||
?presentation vivo:inEventSeries ?series .
|
?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?series .
|
||||||
?series vivo:seriesForEvent ?presentation .
|
?series <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation .
|
||||||
?series rdfs:label ?seriesLabel
|
?series rdfs:label ?seriesLabel
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -234,8 +234,8 @@
|
||||||
?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?workshop .
|
?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?workshop .
|
||||||
?workshop <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation .
|
?workshop <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation .
|
||||||
?workshop a bibo:Workshop .
|
?workshop a bibo:Workshop .
|
||||||
?workshop vivo:inEventSeries ?series .
|
?workshop <http://purl.obolibrary.org/obo/BFO_0000050> ?series .
|
||||||
?series vivo:seriesForEvent ?workshop .
|
?series <http://purl.obolibrary.org/obo/BFO_0000051> ?workshop .
|
||||||
?series a vivo:EventSeries .
|
?series a vivo:EventSeries .
|
||||||
?series rdfs:label ?seriesLabel
|
?series rdfs:label ?seriesLabel
|
||||||
} WHERE {
|
} WHERE {
|
||||||
|
@ -250,8 +250,8 @@
|
||||||
?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?workshop .
|
?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?workshop .
|
||||||
?workshop <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation .
|
?workshop <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation .
|
||||||
?workshop a bibo:Workshop .
|
?workshop a bibo:Workshop .
|
||||||
?workshop vivo:inEventSeries ?series .
|
?workshop <http://purl.obolibrary.org/obo/BFO_0000050> ?series .
|
||||||
?series vivo:seriesForEvent ?workshop .
|
?series <http://purl.obolibrary.org/obo/BFO_0000051> ?workshop .
|
||||||
?series a vivo:EventSeries .
|
?series a vivo:EventSeries .
|
||||||
?series rdfs:label ?seriesLabel
|
?series rdfs:label ?seriesLabel
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,12 +33,13 @@
|
||||||
}
|
}
|
||||||
OPTIONAL { ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
|
OPTIONAL { ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
|
||||||
?activity a core:Grant .
|
?activity a core:Grant .
|
||||||
?activity core:grantAwardedBy ?awardedBy .
|
?activity core:assignedBy ?awardedBy .
|
||||||
?awardedBy rdfs:label ?awardedByLabel
|
?awardedBy rdfs:label ?awardedByLabel
|
||||||
}
|
}
|
||||||
OPTIONAL { ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
|
OPTIONAL { ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
|
||||||
?activity a core:Grant .
|
?activity a core:Grant .
|
||||||
?activity core:administeredBy ?adminedBy .
|
?activity core:relates ?adminedByRole .
|
||||||
|
?adminedByRole <http://purl.obolibrary.org/obo/RO_0000052> ?adminedBy .
|
||||||
?adminedBy rdfs:label ?adminedByLabel
|
?adminedBy rdfs:label ?adminedByLabel
|
||||||
}
|
}
|
||||||
OPTIONAL { ?role core:dateTimeInterval ?dateTimeIntervalRole .
|
OPTIONAL { ?role core:dateTimeInterval ?dateTimeIntervalRole .
|
||||||
|
@ -66,6 +67,7 @@
|
||||||
<query-construct>
|
<query-construct>
|
||||||
PREFIX core: <http://vivoweb.org/ontology/core#>
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
|
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
|
||||||
CONSTRUCT {
|
CONSTRUCT {
|
||||||
?subject ?property ?role .
|
?subject ?property ?role .
|
||||||
?role a core:PrincipalInvestigatorRole .
|
?role a core:PrincipalInvestigatorRole .
|
||||||
|
@ -73,9 +75,10 @@
|
||||||
?activity a core:Grant .
|
?activity a core:Grant .
|
||||||
?role ?roleProperty ?roleValue .
|
?role ?roleProperty ?roleValue .
|
||||||
?activity rdfs:label ?activityLabel .
|
?activity rdfs:label ?activityLabel .
|
||||||
?activity core:grantAwardedBy ?awardedBy .
|
?activity core:assignedBy ?awardedBy .
|
||||||
?awardedBy rdfs:label ?awardedByLabel .
|
?awardedBy rdfs:label ?awardedByLabel .
|
||||||
?activity core:administeredBy ?adminedBy .
|
?activity core:relates ?adminedByRole .
|
||||||
|
?adminedByRole <http://purl.obolibrary.org/obo/RO_0000052> ?adminedBy .
|
||||||
?adminedBy rdfs:label ?adminedByLabel
|
?adminedBy rdfs:label ?adminedByLabel
|
||||||
} WHERE {
|
} WHERE {
|
||||||
{
|
{
|
||||||
|
@ -96,14 +99,18 @@
|
||||||
?role a core:PrincipalInvestigatorRole .
|
?role a core:PrincipalInvestigatorRole .
|
||||||
?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
|
?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
|
||||||
?activity a core:Grant .
|
?activity a core:Grant .
|
||||||
?activity core:grantAwardedBy ?awardedBy .
|
?activity core:assignedBy ?awardedBy .
|
||||||
|
?awardedBy a foaf:Organization .
|
||||||
?awardedBy rdfs:label ?awardedByLabel
|
?awardedBy rdfs:label ?awardedByLabel
|
||||||
} UNION {
|
} UNION {
|
||||||
?subject ?property ?role .
|
?subject ?property ?role .
|
||||||
?role a core:PrincipalInvestigatorRole .
|
?role a core:PrincipalInvestigatorRole .
|
||||||
?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
|
?role <http://vivoweb.org/ontology/core#relatedBy> ?activity .
|
||||||
?activity a core:Grant .
|
?activity a core:Grant .
|
||||||
?activity core:administeredBy ?adminedBy .
|
?activity core:relates ?adminedByRole .
|
||||||
|
?adminedByRole a core:AdminsitratorRole.
|
||||||
|
?adminedByRole <http://purl.obolibrary.org/obo/RO_0000052> ?adminedBy .
|
||||||
|
?adminedBy a foaf:Organization .
|
||||||
?adminedBy rdfs:label ?adminedByLabel
|
?adminedBy rdfs:label ?adminedByLabel
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,92 +1,136 @@
|
||||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
<!-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
<!-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||||
|
|
||||||
<!-- See guidelines in vitro/doc/list_view_configuration_guidelines.txt
|
<!-- See guidelines in vitro/doc/list_view_configuration_guidelines.txt -->
|
||||||
<http://localhost:8080/vivo/n1402> <http://vivoweb.org/ontology/core#organizationForTraining>
|
|
||||||
-->
|
|
||||||
|
|
||||||
<list-view-config>
|
<list-view-config>
|
||||||
<query-select>
|
<query-select>
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
PREFIX core: <http://vivoweb.org/ontology/core#>
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||||
PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>
|
PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#>
|
||||||
|
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
|
||||||
PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#>
|
PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#>
|
||||||
|
|
||||||
SELECT DISTINCT <collated> ?subclass </collated>
|
SELECT DISTINCT ?subclass
|
||||||
?localName
|
?edTraining
|
||||||
?training
|
?person ?personName
|
||||||
?person
|
?awardedDegree
|
||||||
?personName
|
|
||||||
?degree
|
?degree
|
||||||
?degreeName
|
?degreeName ?degreeAbbr
|
||||||
?degreeAbbr
|
?majorField ?info
|
||||||
?field
|
|
||||||
?suppInfo
|
|
||||||
?dateTimeStart ?dateTimeEnd
|
?dateTimeStart ?dateTimeEnd
|
||||||
WHERE {
|
WHERE {
|
||||||
?subject ?property ?training
|
?subject ?property ?edTraining .
|
||||||
LET ( ?localName := afn:localname(?training) )
|
?edTraining a core:EducationalProcess
|
||||||
OPTIONAL { ?training core:educationalTrainingOf ?person
|
OPTIONAL { ?edTraining vitro:mostSpecificType ?subclass . }
|
||||||
OPTIONAL { ?person rdfs:label ?personName }
|
OPTIONAL { ?edTraining <http://purl.obolibrary.org/obo/RO_0002234> ?awardedDegree .
|
||||||
|
?awardedDegree core:relates ?degree .
|
||||||
|
?degree a core:AcademicDegree .
|
||||||
|
?degree rdfs:label ?degreeName
|
||||||
}
|
}
|
||||||
OPTIONAL { ?training core:degreeEarned ?degree
|
OPTIONAL { ?edTraining <http://purl.obolibrary.org/obo/RO_0002234> ?awardedDegree .
|
||||||
OPTIONAL { ?degree rdfs:label ?degreeName }
|
?awardedDegree core:relates ?degree .
|
||||||
OPTIONAL { ?degree core:abbreviation ?degreeAbbr }
|
?degree a core:AcademicDegree .
|
||||||
|
?degree core:abbreviation ?degreeAbbr
|
||||||
}
|
}
|
||||||
<collated>
|
OPTIONAL { ?edTraining <http://purl.obolibrary.org/obo/RO_0000057> ?person .
|
||||||
OPTIONAL { ?training vitro:mostSpecificType ?subclass .
|
?person a foaf:Person .
|
||||||
?subclass rdfs:subClassOf core:EducationalTraining
|
?person rdfs:label ?personName
|
||||||
}
|
}
|
||||||
</collated>
|
OPTIONAL { ?edTraining core:majorField ?majorField }
|
||||||
|
OPTIONAL { ?edTraining core:supplementalInformation ?info }
|
||||||
OPTIONAL { ?training rdfs:label ?trainingLabel }
|
OPTIONAL { ?edTraining core:dateTimeInterval ?dateTimeInterval .
|
||||||
OPTIONAL { ?training core:majorField ?field }
|
?dateTimeInterval core:start ?dateTimeStartValue .
|
||||||
OPTIONAL { ?training core:supplementalInformation ?suppInfo }
|
|
||||||
OPTIONAL { ?training core:dateTimeInterval ?dateTimeInterval
|
|
||||||
OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue .
|
|
||||||
?dateTimeStartValue core:dateTime ?dateTimeStart
|
?dateTimeStartValue core:dateTime ?dateTimeStart
|
||||||
}
|
}
|
||||||
OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue .
|
OPTIONAL { ?edTraining core:dateTimeInterval ?dateTimeInterval .
|
||||||
|
?dateTimeInterval core:end ?dateTimeEndValue .
|
||||||
?dateTimeEndValue core:dateTime ?dateTimeEnd
|
?dateTimeEndValue core:dateTime ?dateTimeEnd
|
||||||
}
|
}
|
||||||
}
|
} ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart)
|
||||||
<critical-data-required>
|
|
||||||
FILTER ( bound(?person) )
|
|
||||||
</critical-data-required>
|
|
||||||
} ORDER BY <collated> ?subclass </collated> ?personName
|
|
||||||
</query-select>
|
</query-select>
|
||||||
|
|
||||||
<query-construct>
|
<query-construct>
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
PREFIX core: <http://vivoweb.org/ontology/core#>
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||||
PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#>
|
PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#>
|
||||||
|
|
||||||
CONSTRUCT {
|
CONSTRUCT {
|
||||||
?subject ?property ?training .
|
?edTraining vitro:mostSpecificType ?subclass
|
||||||
?training vitro:mostSpecificType ?subclass .
|
|
||||||
?subclass rdfs:subClassOf core:EducationalTraining
|
|
||||||
} WHERE {
|
} WHERE {
|
||||||
?subject ?property ?training .
|
?subject ?property ?edTraining .
|
||||||
?training vitro:mostSpecificType ?subclass .
|
?edTraining a core:EducationalProcess .
|
||||||
?subclass rdfs:subClassOf core:EducationalTraining
|
?edTraining vitro:mostSpecificType ?subclass .
|
||||||
}
|
}
|
||||||
</query-construct>
|
</query-construct>
|
||||||
|
|
||||||
<query-construct>
|
<query-construct>
|
||||||
PREFIX core: <http://vivoweb.org/ontology/core#>
|
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||||
|
|
||||||
CONSTRUCT {
|
CONSTRUCT {
|
||||||
?subject ?property ?training .
|
?subject ?property ?edTraining .
|
||||||
?training ?trainingProperty ?trainingValue .
|
?edTraining a core:EducationalProcess .
|
||||||
|
?edTraining ?edTrainingProp ?edTrainingValue .
|
||||||
|
?edTraining <http://purl.obolibrary.org/obo/RO_0002234> ?awardedDegree .
|
||||||
|
?awardedDegree core:relates ?degree .
|
||||||
|
?edTraining core:dateTimeInterval ?dateTimeInterval
|
||||||
|
} WHERE {
|
||||||
|
{
|
||||||
|
?subject ?property ?edTraining .
|
||||||
|
?edTraining a core:EducationalProcess
|
||||||
|
}
|
||||||
|
UNION {
|
||||||
|
?subject ?property ?edTraining .
|
||||||
|
?edTraining a core:EducationalProcess .
|
||||||
|
?edTraining ?edTrainingProp ?edTrainingValue
|
||||||
|
}
|
||||||
|
UNION {
|
||||||
|
?subject ?property ?edTraining .
|
||||||
|
?edTraining a core:EducationalProcess .
|
||||||
|
?edTraining <http://purl.obolibrary.org/obo/RO_0002234> ?awardedDegree .
|
||||||
|
}
|
||||||
|
UNION {
|
||||||
|
?subject ?property ?edTraining .
|
||||||
|
?edTraining a core:EducationalProcess .
|
||||||
|
?edTraining <http://purl.obolibrary.org/obo/RO_0002234> ?awardedDegree .
|
||||||
|
?awardedDegree core:relates ?degree
|
||||||
|
}
|
||||||
|
UNION {
|
||||||
|
?subject ?property ?edTraining .
|
||||||
|
?edTraining a core:EducationalProcess .
|
||||||
|
?edTraining core:dateTimeInterval ?dateTimeInterval
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</query-construct>
|
||||||
|
|
||||||
|
<query-construct>
|
||||||
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||||
|
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
|
||||||
|
|
||||||
|
CONSTRUCT {
|
||||||
|
?subject ?property ?edTraining .
|
||||||
|
?edTraining a core:EducationalProcess .
|
||||||
|
?edTraining ?edTrainingProp ?edTrainingValue .
|
||||||
|
?edTraining <http://purl.obolibrary.org/obo/RO_0000057> ?person .
|
||||||
|
?person a foaf:Person .
|
||||||
?person rdfs:label ?personName
|
?person rdfs:label ?personName
|
||||||
} WHERE {
|
} WHERE {
|
||||||
{
|
{
|
||||||
?subject ?property ?training
|
?subject ?property ?edTraining .
|
||||||
} UNION {
|
?edTraining a core:EducationalProcess
|
||||||
?subject ?property ?training .
|
}
|
||||||
?training ?trainingProperty ?trainingValue
|
UNION {
|
||||||
} UNION {
|
?subject ?property ?edTraining .
|
||||||
?subject ?property ?training .
|
?edTraining a core:EducationalProcess .
|
||||||
?training core:educationalTrainingOf ?person .
|
?edTraining ?edTrainingProp ?edTrainingValue
|
||||||
|
}
|
||||||
|
UNION {
|
||||||
|
?subject ?property ?edTraining .
|
||||||
|
?edTraining a core:EducationalProcess .
|
||||||
|
?edTraining <http://purl.obolibrary.org/obo/RO_0000057> ?person .
|
||||||
|
?person a foaf:Person .
|
||||||
?person rdfs:label ?personName
|
?person rdfs:label ?personName
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -97,46 +141,55 @@
|
||||||
PREFIX core: <http://vivoweb.org/ontology/core#>
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||||
|
|
||||||
CONSTRUCT {
|
CONSTRUCT {
|
||||||
|
?degree a core:AcademicDegree .
|
||||||
?degree rdfs:label ?degreeName .
|
?degree rdfs:label ?degreeName .
|
||||||
?degree core:abbreviation ?degreeAbbr
|
?degree core:abbreviation ?degreeAbbr
|
||||||
} WHERE {
|
} WHERE {
|
||||||
{
|
{
|
||||||
?subject ?property ?training .
|
?subject ?property ?edTraining .
|
||||||
?training core:degreeEarned ?degree .
|
?edTraining a core:EducationalProcess .
|
||||||
|
?edTraining <http://purl.obolibrary.org/obo/RO_0002234> ?awardedDegree .
|
||||||
|
?awardedDegree core:relates ?degree .
|
||||||
|
?degree a core:AcademicDegree .
|
||||||
?degree rdfs:label ?degreeName
|
?degree rdfs:label ?degreeName
|
||||||
} UNION {
|
} UNION {
|
||||||
?subject ?property ?training .
|
?subject ?property ?edTraining .
|
||||||
?training core:degreeEarned ?degree .
|
?edTraining a core:EducationalProcess .
|
||||||
|
?edTraining <http://purl.obolibrary.org/obo/RO_0002234> ?awardedDegree .
|
||||||
|
?awardedDegree core:relates ?degree .
|
||||||
|
?degree a core:AcademicDegree .
|
||||||
?degree core:abbreviation ?degreeAbbr
|
?degree core:abbreviation ?degreeAbbr
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</query-construct>
|
</query-construct>
|
||||||
|
|
||||||
<query-construct>
|
<query-construct>
|
||||||
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
PREFIX core: <http://vivoweb.org/ontology/core#>
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||||
|
|
||||||
CONSTRUCT {
|
CONSTRUCT {
|
||||||
?subject ?property ?position .
|
|
||||||
?position core:dateTimeInterval ?dateTimeInterval .
|
|
||||||
?dateTimeInterval core:start ?dateTimeStartValue .
|
?dateTimeInterval core:start ?dateTimeStartValue .
|
||||||
?dateTimeStartValue core:dateTime ?dateTimeStart
|
?dateTimeStartValue core:dateTime ?dateTimeStart .
|
||||||
} WHERE {
|
} WHERE {
|
||||||
?subject ?property ?position .
|
?subject ?property ?edTraining .
|
||||||
?position core:dateTimeInterval ?dateTimeInterval .
|
?edTraining a core:EducationalProcess .
|
||||||
|
?edTraining core:dateTimeInterval ?dateTimeInterval .
|
||||||
?dateTimeInterval core:start ?dateTimeStartValue .
|
?dateTimeInterval core:start ?dateTimeStartValue .
|
||||||
?dateTimeStartValue core:dateTime ?dateTimeStart
|
?dateTimeStartValue core:dateTime ?dateTimeStart .
|
||||||
}
|
}
|
||||||
</query-construct>
|
</query-construct>
|
||||||
|
|
||||||
<query-construct>
|
<query-construct>
|
||||||
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
PREFIX core: <http://vivoweb.org/ontology/core#>
|
PREFIX core: <http://vivoweb.org/ontology/core#>
|
||||||
|
|
||||||
CONSTRUCT {
|
CONSTRUCT {
|
||||||
?subject ?property ?position .
|
|
||||||
?position core:dateTimeInterval ?dateTimeInterval .
|
|
||||||
?dateTimeInterval core:end ?dateTimeEndValue .
|
?dateTimeInterval core:end ?dateTimeEndValue .
|
||||||
?dateTimeEndValue core:dateTime ?dateTimeEnd
|
?dateTimeEndValue core:dateTime ?dateTimeEnd
|
||||||
} WHERE {
|
} WHERE {
|
||||||
?subject ?property ?position .
|
?subject ?property ?edTraining .
|
||||||
?position core:dateTimeInterval ?dateTimeInterval .
|
?edTraining a core:EducationalProcess .
|
||||||
|
?edTraining core:dateTimeInterval ?dateTimeInterval .
|
||||||
?dateTimeInterval core:end ?dateTimeEndValue .
|
?dateTimeInterval core:end ?dateTimeEndValue .
|
||||||
?dateTimeEndValue core:dateTime ?dateTimeEnd
|
?dateTimeEndValue core:dateTime ?dateTimeEnd
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,8 +3,6 @@
|
||||||
|
|
||||||
<!-- See guidelines in vitro/doc/list_view_configuration_guidelines.txt -->
|
<!-- See guidelines in vitro/doc/list_view_configuration_guidelines.txt -->
|
||||||
|
|
||||||
<!-- List view config for http://vivoweb.org/ontology/core#contributingRole,
|
|
||||||
http://vivoweb.org/ontology/core#realizedRole and http://vivoweb.org/ontology/core#linkedRole -->
|
|
||||||
|
|
||||||
<list-view-config>
|
<list-view-config>
|
||||||
<query-select>
|
<query-select>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||||
|
|
||||||
<#-- Custom object property statement view for http://vivoweb.org/ontology/core#mailingAddress.
|
<#-- Custom object property statement view for faux property "advisee of". See the PropertyConfig.3 file for details.
|
||||||
|
|
||||||
This template must be self-contained and not rely on other variables set for the individual page, because it
|
This template must be self-contained and not rely on other variables set for the individual page, because it
|
||||||
is also used to generate the property statement during a deletion.
|
is also used to generate the property statement during a deletion.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||||
|
|
||||||
<#-- Custom object property statement view for http://vivoweb.org/ontology/core#mailingAddress.
|
<#-- Custom object property statement view for faux property "advisees". See the PropertyConfig.3 file for details.
|
||||||
|
|
||||||
This template must be self-contained and not rely on other variables set for the individual page, because it
|
This template must be self-contained and not rely on other variables set for the individual page, because it
|
||||||
is also used to generate the property statement during a deletion.
|
is also used to generate the property statement during a deletion.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||||
|
|
||||||
<#-- Custom object property statement view for http://vivoweb.org/ontology/core#authorInAuthorship.
|
<#-- Custom object property statement view for faux property "selected publications". See the PropertyConfig.3 file for details.
|
||||||
|
|
||||||
This template must be self-contained and not rely on other variables set for the individual page, because it
|
This template must be self-contained and not rely on other variables set for the individual page, because it
|
||||||
is also used to generate the property statement during a deletion.
|
is also used to generate the property statement during a deletion.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||||
|
|
||||||
<#-- Custom object property statement view for http://vivoweb.org/ontology/core#awardOrHonor.
|
<#-- Custom object property statement view for faux property "awards and honors". See the PropertyConfig.3 file for details.
|
||||||
|
|
||||||
This template must be self-contained and not rely on other variables set for the individual page, because it
|
This template must be self-contained and not rely on other variables set for the individual page, because it
|
||||||
is also used to generate the property statement during a deletion.
|
is also used to generate the property statement during a deletion.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||||
|
|
||||||
<#-- Custom object property statement view for http://vivoweb.org/ontology/core#authorInEditorship.
|
<#-- Custom object property statement view for faux property "editor of". See the PropertyConfig.3 file for details.
|
||||||
|
|
||||||
This template must be self-contained and not rely on other variables set for the individual page, because it
|
This template must be self-contained and not rely on other variables set for the individual page, because it
|
||||||
is also used to generate the property statement during a deletion.
|
is also used to generate the property statement during a deletion.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||||
|
|
||||||
<#-- Custom object property statement view for http://vivoweb.org/ontology/core#educationalTraining.
|
<#-- Custom object property statement view for faux property "education and training". See the PropertyConfig.3 file for details.
|
||||||
|
|
||||||
This template must be self-contained and not rely on other variables set for the individual page, because it
|
This template must be self-contained and not rely on other variables set for the individual page, because it
|
||||||
is also used to generate the property statement during a deletion.
|
is also used to generate the property statement during a deletion.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||||
|
|
||||||
<#-- Custom object property statement view for http://vivoweb.org/ontology/core#hasAttendeeRole.
|
<#-- Custom object property statement view for faux property "attended". See the PropertyConfig.3 file for details..
|
||||||
|
|
||||||
This template must be self-contained and not rely on other variables set for the individual page, because it
|
This template must be self-contained and not rely on other variables set for the individual page, because it
|
||||||
is also used to generate the property statement during a deletion.
|
is also used to generate the property statement during a deletion.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||||
|
|
||||||
<#-- Custom object property statement view for core:hasEditorRole and core:hasReviewerRole.
|
<#-- Custom object property statement view for faux property "reviewer of". See the PropertyConfig.3 file for details.
|
||||||
|
|
||||||
This template must be self-contained and not rely on other variables set for the individual page, because it
|
This template must be self-contained and not rely on other variables set for the individual page, because it
|
||||||
is also used to generate the property statement during a deletion.
|
is also used to generate the property statement during a deletion.
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||||
|
|
||||||
<#-- Custom object property statement view for http://vivoweb.org/ontology/core#hasRole and its child properties.
|
<#-- Custom object property statement view for faux property "investigator on," "principal investigator on" and
|
||||||
|
"co-principal investigator on." See the PropertyConfig.3 file for details.
|
||||||
|
|
||||||
This template must be self-contained and not rely on other variables set for the individual page, because it
|
This template must be self-contained and not rely on other variables set for the individual page, because it
|
||||||
is also used to generate the property statement during a deletion.
|
is also used to generate the property statement during a deletion.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||||
|
|
||||||
<#-- Custom object property statement view for http://vivoweb.org/ontology/core#hasPresenterRole.
|
<#-- Custom object property statement view for faux property "presentations". See the PropertyConfig.3 file for details.
|
||||||
|
|
||||||
This template must be self-contained and not rely on other variables set for the individual page, because it
|
This template must be self-contained and not rely on other variables set for the individual page, because it
|
||||||
is also used to generate the property statement during a deletion.
|
is also used to generate the property statement during a deletion.
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||||
|
|
||||||
<#-- Custom object property statement view for http://vivoweb.org/ontology/core#hasRole and its child properties.
|
<#-- Custom object property statement view for the roleRealizedIn, roleContributesTo, researchActivities, hasRole
|
||||||
|
and hasClinicalActivities custom list views. See those list view and the PropertyConfig.3 file for details.
|
||||||
|
|
||||||
This template must be self-contained and not rely on other variables set for the individual page, because it
|
This template must be self-contained and not rely on other variables set for the individual page, because it
|
||||||
is also used to generate the property statement during a deletion.
|
is also used to generate the property statement during a deletion.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||||
|
|
||||||
<#-- Custom object property statement view for http://vivoweb.org/ontology/core#informationResourceInAuthorship.
|
<#-- Custom object property statement view for faux property "authors". See the PropertyConfig.3 file for details.
|
||||||
|
|
||||||
This template must be self-contained and not rely on other variables set for the individual page, because it
|
This template must be self-contained and not rely on other variables set for the individual page, because it
|
||||||
is also used to generate the property statement during a deletion.
|
is also used to generate the property statement during a deletion.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||||
|
|
||||||
<#-- Custom object property statement view for http://vivoweb.org/ontology/core#informationResourceInAuthorship.
|
<#-- Custom object property statement view for faux property "editors". See the PropertyConfig.3 file for details.
|
||||||
|
|
||||||
This template must be self-contained and not rely on other variables set for the individual page, because it
|
This template must be self-contained and not rely on other variables set for the individual page, because it
|
||||||
is also used to generate the property statement during a deletion.
|
is also used to generate the property statement during a deletion.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||||
|
|
||||||
<#-- Custom object property statement view for http://vivoweb.org/ontology/core#mailingAddress.
|
<#-- Custom object property statement view for faux property "mailing address". See the PropertyConfig.3 file for details.
|
||||||
|
|
||||||
This template must be self-contained and not rely on other variables set for the individual page, because it
|
This template must be self-contained and not rely on other variables set for the individual page, because it
|
||||||
is also used to generate the property statement during a deletion.
|
is also used to generate the property statement during a deletion.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||||
|
|
||||||
<#-- Custom object property statement view for http://vivoweb.org/ontology/core#organizationForPosition.
|
<#-- Custom object property statement view for faux property "people". See the PropertyConfig.3 file for details.
|
||||||
|
|
||||||
This template must be self-contained and not rely on other variables set for the individual page, because it
|
This template must be self-contained and not rely on other variables set for the individual page, because it
|
||||||
is also used to generate the property statement during a deletion.
|
is also used to generate the property statement during a deletion.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||||
|
|
||||||
<#-- Custom object property statement view for http://vivoweb.org/ontology/core#organizationForPosition.
|
<#-- Custom object property statement view for faux property "organization for training". See the PropertyConfig.3 file for details.
|
||||||
|
|
||||||
This template must be self-contained and not rely on other variables set for the individual page, because it
|
This template must be self-contained and not rely on other variables set for the individual page, because it
|
||||||
is also used to generate the property statement during a deletion.
|
is also used to generate the property statement during a deletion.
|
||||||
|
@ -24,13 +24,15 @@
|
||||||
</#local>
|
</#local>
|
||||||
<#local detailedInfo>
|
<#local detailedInfo>
|
||||||
<#if statement.degree??>
|
<#if statement.degree??>
|
||||||
${statement.degreeAbbr!} ${i18n().in} ${statement.field!}
|
${statement.degreeAbbr!} <#if statement.majorField??> ${i18n().in} ${statement.majorField!} </#if>
|
||||||
<#elseif statement.field??>
|
<#elseif statement.majorField??>
|
||||||
${statement.field!}, ${statement.suppInfo!}
|
${statement.majorField!}, ${statement.info!}
|
||||||
<#else>
|
<#else>
|
||||||
${statement.suppInfo!}
|
${statement.info!}
|
||||||
</#if>
|
</#if>
|
||||||
</#local>
|
</#local>
|
||||||
<@s.join [ linkedIndividual, detailedInfo ] /> <@dt.yearIntervalSpan "${statement.dateTimeStart!}" "${statement.dateTimeEnd!}" />
|
<@s.join [ linkedIndividual, detailedInfo ] />
|
||||||
|
|
||||||
</#macro>
|
</#macro>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||||
|
|
||||||
<#-- Custom object property statement view for http://vivoweb.org/ontology/core#personInPosition.
|
<#-- Custom object property statement view for faux property "positions". See the PropertyConfig.3 file for details.
|
||||||
|
|
||||||
This template must be self-contained and not rely on other variables set for the individual page, because it
|
This template must be self-contained and not rely on other variables set for the individual page, because it
|
||||||
is also used to generate the property statement during a deletion.
|
is also used to generate the property statement during a deletion.
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||||
|
|
||||||
<#-- Custom object property statement view for http://vivoweb.org/ontology/core#relatedRole and
|
<#--
|
||||||
http://vivoweb.org/ontology/core#linkedRole.
|
|
||||||
|
|
||||||
This template must be self-contained and not rely on other variables set for the individual page, because it
|
This template must be self-contained and not rely on other variables set for the individual page, because it
|
||||||
is also used to generate the property statement during a deletion.
|
is also used to generate the property statement during a deletion.
|
||||||
-->
|
-->
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||||
|
|
||||||
<#-- Custom object property statement view for http://vivoweb.org/ontology/core#organizationForPosition.
|
<#--
|
||||||
|
|
||||||
This template must be self-contained and not rely on other variables set for the individual page, because it
|
This template must be self-contained and not rely on other variables set for the individual page, because it
|
||||||
is also used to generate the property statement during a deletion.
|
is also used to generate the property statement during a deletion.
|
||||||
-->
|
-->
|
||||||
|
|
|
@ -28,7 +28,7 @@ RoleToActivityPredicate
|
||||||
<#assign genericLabel = "${i18n().clinical_activity?capitalize}" />
|
<#assign genericLabel = "${i18n().clinical_activity?capitalize}" />
|
||||||
|
|
||||||
<#assign acMultipleTypes = "'true'" />
|
<#assign acMultipleTypes = "'true'" />
|
||||||
<#assign acTypes = "{activity: 'http://vivoweb.org/ontology/core#Project,http://vivoweb.org/ontology/core#Service'}" />
|
<#assign acTypes = "{activity: 'http://vivoweb.org/ontology/core#Project,http://purl.obolibrary.org/obo/ERO_0000005'}" />
|
||||||
|
|
||||||
|
|
||||||
<#--Each of the two stage forms will include the form below-->
|
<#--Each of the two stage forms will include the form below-->
|
||||||
|
|
|
@ -0,0 +1,95 @@
|
||||||
|
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
|
||||||
|
|
||||||
|
var orgForTrainingUtils = {
|
||||||
|
|
||||||
|
onLoad: function(blankSentinel) {
|
||||||
|
|
||||||
|
this.sentinel = '';
|
||||||
|
if ( blankSentinel ) { this.sentinel = blankSentinel; }
|
||||||
|
|
||||||
|
this.initObjectReferences();
|
||||||
|
this.bindEventListeners();
|
||||||
|
|
||||||
|
$.extend(this, vitro.customFormUtils);
|
||||||
|
$.extend(this, i18nStrings);
|
||||||
|
|
||||||
|
if ( this.findValidationErrors() ) {
|
||||||
|
this.resetLastNameLabel();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
initObjectReferences: function() {
|
||||||
|
|
||||||
|
this.form = $('#organizationForTraining');
|
||||||
|
this.person = $('#person');
|
||||||
|
this.fauxLabel = $('#maskLabelBuilding');
|
||||||
|
this.firstName = $('#firstName');
|
||||||
|
this.lastName = $('#lastName');
|
||||||
|
this.personUri = $('#personUri');
|
||||||
|
this.aDLabel = $('#awardedDegreeLabel');
|
||||||
|
this.degreeSelector = $('#degreeUri');
|
||||||
|
|
||||||
|
// may not need this
|
||||||
|
this.firstName.attr('disabled', '');
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
bindEventListeners: function() {
|
||||||
|
this.idCache = {};
|
||||||
|
|
||||||
|
this.form.submit(function() {
|
||||||
|
orgForTrainingUtils.resolveFirstLastNames();
|
||||||
|
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
resolveFirstLastNames: function() {
|
||||||
|
var firstName,
|
||||||
|
lastName,
|
||||||
|
name;
|
||||||
|
|
||||||
|
// If selecting an existing person, don't submit name fields
|
||||||
|
if (this.personUri.val() == '' || this.personUri.val() == this.sentinel ) {
|
||||||
|
firstName = this.firstName.val();
|
||||||
|
lastName = this.person.val();
|
||||||
|
|
||||||
|
name = lastName;
|
||||||
|
|
||||||
|
if (firstName) {
|
||||||
|
name += ', ' + firstName;
|
||||||
|
}
|
||||||
|
|
||||||
|
// we don't want the user to see the label getting built, so hide the acSelector
|
||||||
|
// field and display a bogus field that just has the last name in it.
|
||||||
|
this.fauxLabel.val(lastName);
|
||||||
|
this.person.hide();
|
||||||
|
this.fauxLabel.show();
|
||||||
|
this.person.val(name);
|
||||||
|
this.lastName.val(lastName);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
this.firstName.attr('disabled', 'disabled');
|
||||||
|
this.lastName.attr('disabled', 'disabled');
|
||||||
|
}
|
||||||
|
orgForTrainingUtils.setAwardedDegreeLabel(this.person.val());
|
||||||
|
},
|
||||||
|
|
||||||
|
resetLastNameLabel: function() {
|
||||||
|
var indx = this.person.val().indexOf(", ");
|
||||||
|
if ( indx != -1 ) {
|
||||||
|
var temp = this.person.val().substr(0,indx);
|
||||||
|
this.person.val(temp);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
setAwardedDegreeLabel: function(name) {
|
||||||
|
var degreeLabel = "";
|
||||||
|
if ( name == '' || name == null ) {
|
||||||
|
degreeLabel = $('span.acSelectionInfo').text() + ": " + this.degreeSelector.find(":selected").text();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
degreeLabel = name + ": " + this.degreeSelector.find(":selected").text();
|
||||||
|
}
|
||||||
|
this.aDLabel.val(degreeLabel);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,229 @@
|
||||||
|
<#-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
|
||||||
|
|
||||||
|
<#-- this is in request.subject.name -->
|
||||||
|
|
||||||
|
<#-- leaving this edit/add mode code in for reference in case we decide we need it -->
|
||||||
|
|
||||||
|
<#import "lib-vivo-form.ftl" as lvf>
|
||||||
|
|
||||||
|
<#assign subjectName=""/>
|
||||||
|
<#assign roleActivityUri="mysteryRoleActivityURI"/>
|
||||||
|
<#assign personLabel="mysteryPersonLabel"/>
|
||||||
|
|
||||||
|
<#--Retrieve certain edit configuration information-->
|
||||||
|
<#assign editMode = editConfiguration.pageData.editMode />
|
||||||
|
<#assign htmlForElements = editConfiguration.pageData.htmlForElements />
|
||||||
|
|
||||||
|
<#--The blank sentinel indicates what value should be put in a URI when no autocomplete result has been selected.
|
||||||
|
If the blank value is non-null or non-empty, n3 editing for an existing object will remove the original relationship
|
||||||
|
if nothing is selected for that object-->
|
||||||
|
<#assign blankSentinel = "" />
|
||||||
|
<#if editConfigurationConstants?has_content && editConfigurationConstants?keys?seq_contains("BLANK_SENTINEL")>
|
||||||
|
<#assign blankSentinel = editConfigurationConstants["BLANK_SENTINEL"] />
|
||||||
|
</#if>
|
||||||
|
|
||||||
|
<#--This flag is for clearing the label field on submission for an existing object being selected from autocomplete.
|
||||||
|
Set this flag on the input acUriReceiver where you would like this behavior to occur. -->
|
||||||
|
<#assign flagClearLabelForExisting = "flagClearLabelForExisting" />
|
||||||
|
|
||||||
|
<#--Retrieve variables needed-->
|
||||||
|
<#assign firstNameValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "firstName")/>
|
||||||
|
<#assign lastNameValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "lastName") />
|
||||||
|
<#assign personLabelValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "personLabel") />
|
||||||
|
<#assign personLabelDisplayValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "personLabelDisplay") />
|
||||||
|
<#assign deptValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "dept") />
|
||||||
|
<#assign infoValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "info") />
|
||||||
|
<#assign majorFieldValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "majorField") />
|
||||||
|
<#assign degreeValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "degreeType") />
|
||||||
|
<#assign awardedDegreeLabelValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "awardedDegreeLabel") />
|
||||||
|
<#assign existingPersonValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "existingPerson") />
|
||||||
|
<#assign trainingTypeValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "trainingType")/>
|
||||||
|
|
||||||
|
<#-- If edit submission exists, then retrieve validation errors if they exist-->
|
||||||
|
<#if editSubmission?has_content && editSubmission.submissionExists = true && editSubmission.validationErrors?has_content>
|
||||||
|
<#assign submissionErrors = editSubmission.validationErrors/>
|
||||||
|
</#if>
|
||||||
|
|
||||||
|
<#if editMode == "edit" || editMode == "repair">
|
||||||
|
<#assign titleVerb="${i18n().edit_capitalized}">
|
||||||
|
<#assign submitButtonText="${i18n().save_changes}">
|
||||||
|
<#assign disabledVal="disabled">
|
||||||
|
<#else>
|
||||||
|
<#assign titleVerb="${i18n().create_capitalized}">
|
||||||
|
<#assign submitButtonText="${i18n().create_entry}">
|
||||||
|
<#assign disabledVal=""/>
|
||||||
|
</#if>
|
||||||
|
|
||||||
|
<#assign requiredHint = "<span class='requiredHint'> *</span>" />
|
||||||
|
<#assign yearHint = "<span class='hint'>(${i18n().year_hint_format})</span>" />
|
||||||
|
|
||||||
|
|
||||||
|
<h2>${titleVerb} ${i18n().educational_training_for} ${editConfiguration.subjectName}</h2>
|
||||||
|
|
||||||
|
<#--Display error messages if any-->
|
||||||
|
<#if submissionErrors?has_content>
|
||||||
|
<#if personLabelDisplayValue?has_content >
|
||||||
|
<#assign personLabelValue = personLabelDisplayValue />
|
||||||
|
</#if>
|
||||||
|
<section id="error-alert" role="alert">
|
||||||
|
<img src="${urls.images}/iconAlert.png" width="24" height="24" alert="${i18n().error_alert_icon}" />
|
||||||
|
<p>
|
||||||
|
<#--below shows examples of both printing out all error messages and checking the error message for a specific field-->
|
||||||
|
<#list submissionErrors?keys as errorFieldName>
|
||||||
|
<#if errorFieldName == "startField">
|
||||||
|
<#if submissionErrors[errorFieldName]?contains("before")>
|
||||||
|
${i18n().start_year_must_precede_end}
|
||||||
|
<#else>
|
||||||
|
${submissionErrors[errorFieldName]}
|
||||||
|
</#if>
|
||||||
|
<br />
|
||||||
|
<#elseif errorFieldName == "endField">
|
||||||
|
<#if submissionErrors[errorFieldName]?contains("after")>
|
||||||
|
${i18n().end_year_must_be_later}
|
||||||
|
<#else>
|
||||||
|
${submissionErrors[errorFieldName]}
|
||||||
|
</#if>
|
||||||
|
</#if>
|
||||||
|
</#list>
|
||||||
|
<#--Checking if Person Type field is empty-->
|
||||||
|
<#if lvf.submissionErrorExists(editSubmission, "personType")>
|
||||||
|
${i18n().select_person_type}
|
||||||
|
</#if>
|
||||||
|
<#--Checking if Person Name field is empty-->
|
||||||
|
<#if lvf.submissionErrorExists(editSubmission, "personLabel")>
|
||||||
|
${i18n().select_an_person_name}
|
||||||
|
</#if>
|
||||||
|
<#--Checking if Training Type field is empty-->
|
||||||
|
<#if lvf.submissionErrorExists(editSubmission, "trainingType")>
|
||||||
|
${i18n().select_educational_training_value}<br />
|
||||||
|
</#if>
|
||||||
|
|
||||||
|
|
||||||
|
</p>
|
||||||
|
</section>
|
||||||
|
</#if>
|
||||||
|
|
||||||
|
<@lvf.unsupportedBrowser urls.base />
|
||||||
|
|
||||||
|
<section id="organizationForTraining" role="region">
|
||||||
|
|
||||||
|
<form id="organizationForTraining" class="customForm noIE67" action="${submitUrl}" role="add/edit organizational training">
|
||||||
|
|
||||||
|
<p >
|
||||||
|
<label for="person">${i18n().person_capitalized}: ${i18n().last_name} ${requiredHint}<span style="padding-left:322px">${i18n().first_name} ${requiredHint}</span></label>
|
||||||
|
<input class="acSelector" size="50" type="text" acGroupName="person" id="person" name="personLabel" value="${personLabelValue}" >
|
||||||
|
<input type="text" size="50" id="maskLabelBuilding" name="maskLabelBuilding" value="" style="display:none" >
|
||||||
|
<input size="30" type="text" id="firstName" name="firstName" value="${firstNameValue}" ><br />
|
||||||
|
<input type="hidden" id="lastName" name="lastName" value="">
|
||||||
|
<input class="display" type="hidden" acGroupName="person" id="personDisplay" name="personLabelDisplay" value="${personLabelDisplayValue}" >
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div class="acSelection" acGroupName="person">
|
||||||
|
<p class="inline">
|
||||||
|
<label>${i18n().selected_person}:</label>
|
||||||
|
<span class="acSelectionInfo"></span>
|
||||||
|
<a href="" class="verifyMatch" title="${i18n().verify_match_capitalized}">(${i18n().verify_match_capitalized}</a> ${i18n().or}
|
||||||
|
<a href="#" class="changeSelection" id="changeSelection">${i18n().change_selection})</a>
|
||||||
|
</p>
|
||||||
|
<input class="acUriReceiver" type="hidden" id="personUri" name="existingPerson" value="${existingPersonValue}" ${flagClearLabelForExisting}="true" />
|
||||||
|
</div>
|
||||||
|
<label for="positionType">${i18n().educational_training_type} ${requiredHint}</label>
|
||||||
|
<#assign trainingTypeOpts = editConfiguration.pageData.trainingType />
|
||||||
|
<select name="trainingType" style="margin-top:-2px" >
|
||||||
|
<option value="" <#if trainingTypeValue == "">selected</#if>>${i18n().select_one}</option>
|
||||||
|
<#list trainingTypeOpts?keys as key>
|
||||||
|
<option value="${key}" <#if trainingTypeValue == key>selected</#if>><#if trainingTypeOpts[key] == "Other">${i18n().academic_studies_or_other}<#else>${trainingTypeOpts[key]}</#if></option>
|
||||||
|
</#list>
|
||||||
|
</select>
|
||||||
|
<p>
|
||||||
|
<label for="dept">${i18n().dept_or_school_name} ${i18n().person_capitalized}</label>
|
||||||
|
<input size="50" type="text" id="dept" name="dept" value="${deptValue}" />
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div class="entry">
|
||||||
|
<label for="degreeUri">${i18n().degree}</label>
|
||||||
|
|
||||||
|
<#assign degreeOpts = editConfiguration.pageData.degreeType />
|
||||||
|
<select name="degreeType" id="degreeUri" >
|
||||||
|
<option value="" <#if degreeValue = "">selected</#if>>${i18n().select_one}</option>
|
||||||
|
<#list degreeOpts?keys as key>
|
||||||
|
<option value="${key}" <#if degreeValue = key>selected</#if>>${degreeOpts[key]}</option>
|
||||||
|
</#list>
|
||||||
|
</select>
|
||||||
|
<input type="hidden" id="awardedDegreeLabel" name="awardedDegreeLabel" value=""/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<label for="majorField">${i18n().major_field}</label>
|
||||||
|
<input type="text" id="majorField" name="majorField" size="30" value="${majorFieldValue}"/>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<label for="info">${i18n().supplemental_information}
|
||||||
|
<span class="hint"> ${i18n().supplemental_information_hint}</span>
|
||||||
|
</label>
|
||||||
|
<input size="60" type="text" id="info" name="info" value="${infoValue}" />
|
||||||
|
|
||||||
|
</p>
|
||||||
|
<p></p>
|
||||||
|
<#--Need to draw edit elements for dates here-->
|
||||||
|
<#if htmlForElements?keys?seq_contains("startField")>
|
||||||
|
<label class="dateTime" for="startField">${i18n().start_capitalized}</label>
|
||||||
|
${htmlForElements["startField"]} ${yearHint}
|
||||||
|
</#if>
|
||||||
|
<p></p>
|
||||||
|
<#if htmlForElements?keys?seq_contains("endField")>
|
||||||
|
<label class="dateTime" for="endField">${i18n().end_capitalized}</label>
|
||||||
|
${htmlForElements["endField"]} ${yearHint}
|
||||||
|
</#if>
|
||||||
|
|
||||||
|
<#--End draw elements-->
|
||||||
|
<input type="hidden" id="editKey" name="editKey" value="${editKey}"/>
|
||||||
|
<p class="submit">
|
||||||
|
<input type="submit" id="submit" value="${submitButtonText}"/><span class="or"> ${i18n().or} </span>
|
||||||
|
<a class="cancel" href="${cancelUrl}" title="${i18n().cancel_title}">${i18n().cancel_link}</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p id="requiredLegend" class="requiredHint">* ${i18n().required_fields}</p>
|
||||||
|
|
||||||
|
</form>
|
||||||
|
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
var customFormData = {
|
||||||
|
acUrl: '${urls.base}/autocomplete?tokenize=true&stem=true',
|
||||||
|
editMode: '${editMode}',
|
||||||
|
acTypes: {person: 'http://xmlns.com/foaf/0.1/Person'},
|
||||||
|
defaultTypeName: 'person',
|
||||||
|
baseHref: '${urls.base}/individual?uri=',
|
||||||
|
blankSentinel: '${blankSentinel}',
|
||||||
|
flagClearLabelForExisting: '${flagClearLabelForExisting}',
|
||||||
|
subjectName: '${editConfiguration.subjectName}'
|
||||||
|
};
|
||||||
|
var i18nStrings = {
|
||||||
|
selectAnExisting: '${i18n().select_an_existing}',
|
||||||
|
orCreateNewOne: '${i18n().or_create_new_one}',
|
||||||
|
selectedString: '${i18n().selected}'
|
||||||
|
};
|
||||||
|
|
||||||
|
$(document).ready(function() {
|
||||||
|
orgForTrainingUtils.onLoad('${blankSentinel}');
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
${stylesheets.add('<link rel="stylesheet" href="${urls.base}/js/jquery-ui/css/smoothness/jquery-ui-1.8.9.custom.css" />')}
|
||||||
|
${stylesheets.add('<link rel="stylesheet" href="${urls.base}/templates/freemarker/edit/forms/css/customForm.css" />')}
|
||||||
|
${stylesheets.add('<link rel="stylesheet" href="${urls.base}/templates/freemarker/edit/forms/css/customFormWithAutocomplete.css" />')}
|
||||||
|
|
||||||
|
|
||||||
|
${scripts.add('<script type="text/javascript" src="${urls.base}/js/jquery-ui/js/jquery-ui-1.8.9.custom.min.js"></script>',
|
||||||
|
'<script type="text/javascript" src="${urls.base}/js/customFormUtils.js"></script>',
|
||||||
|
'<script type="text/javascript" src="${urls.base}/js/extensions/String.js"></script>',
|
||||||
|
'<script type="text/javascript" src="${urls.base}/js/browserUtils.js"></script>',
|
||||||
|
'<script type="text/javascript" src="${urls.base}/js/jquery_plugins/jquery.bgiframe.pack.js"></script>',
|
||||||
|
'<script type="text/javascript" src="${urls.base}/templates/freemarker/edit/forms/js/organizationForTrainingUtils.js"></script>',
|
||||||
|
'<script type="text/javascript" src="${urls.base}/templates/freemarker/edit/forms/js/customFormWithAutocomplete.js"></script>')}
|
||||||
|
|
||||||
|
|
|
@ -319,6 +319,21 @@ local:educationalTrainingConfig a :ObjectPropertyDisplayConfig ;
|
||||||
vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.PersonHasEducationalTraining"^^<http://www.w3.org/2001/XMLSchema#string> ;
|
vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.PersonHasEducationalTraining"^^<http://www.w3.org/2001/XMLSchema#string> ;
|
||||||
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupbiography> .
|
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupbiography> .
|
||||||
|
|
||||||
|
local:organizationForTrainingContext a :ConfigContext ;
|
||||||
|
:hasConfiguration local:organizationForTrainingConfig ;
|
||||||
|
:configContextFor <http://purl.obolibrary.org/obo/RO_0000056> ;
|
||||||
|
:qualifiedByDomain <http://xmlns.com/foaf/0.1/Organization> ;
|
||||||
|
:qualifiedBy <http://vivoweb.org/ontology/core#EducationalProcess> .
|
||||||
|
|
||||||
|
local:organizationForTrainingConfig a :ObjectPropertyDisplayConfig ;
|
||||||
|
:listViewConfigFile "listViewConfig-organizationForTraining.xml"^^xsd:string ;
|
||||||
|
:displayName "organization for training" ;
|
||||||
|
vitro:displayRankAnnot 1;
|
||||||
|
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
|
||||||
|
vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
|
||||||
|
vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.OrganizationForTrainingGenerator"^^<http://www.w3.org/2001/XMLSchema#string> ;
|
||||||
|
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupother> .
|
||||||
|
|
||||||
local:adviseeRoleContext a :ConfigContext ;
|
local:adviseeRoleContext a :ConfigContext ;
|
||||||
:hasConfiguration local:adviseeRoleConfig ;
|
:hasConfiguration local:adviseeRoleConfig ;
|
||||||
:configContextFor <http://purl.obolibrary.org/obo/RO_0000053> ;
|
:configContextFor <http://purl.obolibrary.org/obo/RO_0000053> ;
|
||||||
|
@ -556,14 +571,14 @@ local:primaryEmailConfig a :ObjectPropertyDisplayConfig ;
|
||||||
vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.PersonHasEmailGenerator"^^<http://www.w3.org/2001/XMLSchema#string> ;
|
vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.PersonHasEmailGenerator"^^<http://www.w3.org/2001/XMLSchema#string> ;
|
||||||
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupaddress> .
|
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupaddress> .
|
||||||
|
|
||||||
local:webpageContext a :ConfigContext ;
|
local:webpagePersonContext a :ConfigContext ;
|
||||||
:hasConfiguration local:webpageConfig ;
|
:hasConfiguration local:webpagePersonConfig ;
|
||||||
:configContextFor <http://purl.obolibrary.org/obo/ARG_2000028> ;
|
:configContextFor <http://purl.obolibrary.org/obo/ARG_2000028> ;
|
||||||
:qualifiedByDomain <http://xmlns.com/foaf/0.1/Person> ;
|
:qualifiedByDomain <http://xmlns.com/foaf/0.1/Person> ;
|
||||||
:qualifiedByRoot <http://www.w3.org/2006/vcard/ns#Kind> ;
|
:qualifiedByRoot <http://www.w3.org/2006/vcard/ns#Kind> ;
|
||||||
:qualifiedBy <http://www.w3.org/2006/vcard/ns#URL> .
|
:qualifiedBy <http://www.w3.org/2006/vcard/ns#URL> .
|
||||||
|
|
||||||
local:webpageConfig a :ObjectPropertyDisplayConfig ;
|
local:webpagePersonConfig a :ObjectPropertyDisplayConfig ;
|
||||||
:listViewConfigFile "listViewConfig-webpage.xml"^^xsd:string ;
|
:listViewConfigFile "listViewConfig-webpage.xml"^^xsd:string ;
|
||||||
:displayName "webpage" ;
|
:displayName "webpage" ;
|
||||||
vitro:displayRankAnnot 40;
|
vitro:displayRankAnnot 40;
|
||||||
|
@ -572,14 +587,46 @@ local:webpageConfig a :ObjectPropertyDisplayConfig ;
|
||||||
vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.ManageWebpagesForIndividualGenerator"^^<http://www.w3.org/2001/XMLSchema#string> ;
|
vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.ManageWebpagesForIndividualGenerator"^^<http://www.w3.org/2001/XMLSchema#string> ;
|
||||||
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupaddress> .
|
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupaddress> .
|
||||||
|
|
||||||
local:webpageContext a :ConfigContext ;
|
local:webpageOrgContext a :ConfigContext ;
|
||||||
:hasConfiguration local:webpageConfig ;
|
:hasConfiguration local:webpageOrgConfig ;
|
||||||
:configContextFor <http://purl.obolibrary.org/obo/ARG_2000028> ;
|
:configContextFor <http://purl.obolibrary.org/obo/ARG_2000028> ;
|
||||||
:qualifiedByDomain <http://xmlns.com/foaf/0.1/Organization> ;
|
:qualifiedByDomain <http://xmlns.com/foaf/0.1/Organization> ;
|
||||||
:qualifiedByRoot <http://www.w3.org/2006/vcard/ns#Kind> ;
|
:qualifiedByRoot <http://www.w3.org/2006/vcard/ns#Kind> ;
|
||||||
:qualifiedBy <http://www.w3.org/2006/vcard/ns#URL> .
|
:qualifiedBy <http://www.w3.org/2006/vcard/ns#URL> .
|
||||||
|
|
||||||
local:webpageConfig a :ObjectPropertyDisplayConfig ;
|
local:webpageOrgConfig a :ObjectPropertyDisplayConfig ;
|
||||||
|
:listViewConfigFile "listViewConfig-webpage.xml"^^xsd:string ;
|
||||||
|
:displayName "webpage" ;
|
||||||
|
vitro:displayRankAnnot 40;
|
||||||
|
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
|
||||||
|
vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
|
||||||
|
vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.ManageWebpagesForIndividualGenerator"^^<http://www.w3.org/2001/XMLSchema#string> ;
|
||||||
|
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupother> .
|
||||||
|
|
||||||
|
local:webpageInfoContext a :ConfigContext ;
|
||||||
|
:hasConfiguration local:webpageInfoConfig ;
|
||||||
|
:configContextFor <http://purl.obolibrary.org/obo/ARG_2000028> ;
|
||||||
|
:qualifiedByDomain <http://purl.obolibrary.org/obo/IAO_0000030> ;
|
||||||
|
:qualifiedByRoot <http://www.w3.org/2006/vcard/ns#Kind> ;
|
||||||
|
:qualifiedBy <http://www.w3.org/2006/vcard/ns#URL> .
|
||||||
|
|
||||||
|
local:webpageInfoConfig a :ObjectPropertyDisplayConfig ;
|
||||||
|
:listViewConfigFile "listViewConfig-webpage.xml"^^xsd:string ;
|
||||||
|
:displayName "webpage" ;
|
||||||
|
vitro:displayRankAnnot 40;
|
||||||
|
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
|
||||||
|
vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
|
||||||
|
vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.ManageWebpagesForIndividualGenerator"^^<http://www.w3.org/2001/XMLSchema#string> ;
|
||||||
|
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupother> .
|
||||||
|
|
||||||
|
local:webpageEventContext a :ConfigContext ;
|
||||||
|
:hasConfiguration local:webpageEventConfig ;
|
||||||
|
:configContextFor <http://purl.obolibrary.org/obo/ARG_2000028> ;
|
||||||
|
:qualifiedByDomain <http://purl.org/NET/c4dm/event.owl#Event> ;
|
||||||
|
:qualifiedByRoot <http://www.w3.org/2006/vcard/ns#Kind> ;
|
||||||
|
:qualifiedBy <http://www.w3.org/2006/vcard/ns#URL> .
|
||||||
|
|
||||||
|
local:webpageEventConfig a :ObjectPropertyDisplayConfig ;
|
||||||
:listViewConfigFile "listViewConfig-webpage.xml"^^xsd:string ;
|
:listViewConfigFile "listViewConfig-webpage.xml"^^xsd:string ;
|
||||||
:displayName "webpage" ;
|
:displayName "webpage" ;
|
||||||
vitro:displayRankAnnot 40;
|
vitro:displayRankAnnot 40;
|
||||||
|
|
|
@ -15,45 +15,6 @@
|
||||||
xmlns:rdfs="&rdfs;"
|
xmlns:rdfs="&rdfs;"
|
||||||
xmlns:vitro="&vitro;">
|
xmlns:vitro="&vitro;">
|
||||||
|
|
||||||
<rdf:Description rdf:about="http://vivoweb.org/ontology/core#authorInAuthorship">
|
|
||||||
<display:listViewConfigFile rdf:datatype="http://www.w3.org/2001/XMLSchema#string">listViewConfig-authorInAuthorship.xml</display:listViewConfigFile>
|
|
||||||
</rdf:Description>
|
|
||||||
|
|
||||||
<rdf:Description rdf:about="http://vivoweb.org/ontology/core#educationalTraining">
|
|
||||||
<display:listViewConfigFile rdf:datatype="http://www.w3.org/2001/XMLSchema#string">listViewConfig-educationalTraining.xml</display:listViewConfigFile>
|
|
||||||
</rdf:Description>
|
|
||||||
|
|
||||||
<rdf:Description rdf:about="http://vivoweb.org/ontology/core#informationResourceInAuthorship">
|
|
||||||
<display:listViewConfigFile rdf:datatype="http://www.w3.org/2001/XMLSchema#string">listViewConfig-informationResourceInAuthorship.xml</display:listViewConfigFile>
|
|
||||||
</rdf:Description>
|
|
||||||
|
|
||||||
<rdf:Description rdf:about="http://vivoweb.org/ontology/core#personInPosition">
|
|
||||||
<display:listViewConfigFile rdf:datatype="http://www.w3.org/2001/XMLSchema#string">listViewConfig-personInPosition.xml</display:listViewConfigFile>
|
|
||||||
</rdf:Description>
|
|
||||||
|
|
||||||
<rdf:Description rdf:about="http://vivoweb.org/ontology/core#organizationForPosition">
|
|
||||||
<display:listViewConfigFile rdf:datatype="http://www.w3.org/2001/XMLSchema#string">listViewConfig-organizationForPosition.xml</display:listViewConfigFile>
|
|
||||||
</rdf:Description>
|
|
||||||
|
|
||||||
<rdf:Description rdf:about="http://vivoweb.org/ontology/core#organizationForTraining">
|
|
||||||
<display:listViewConfigFile rdf:datatype="http://www.w3.org/2001/XMLSchema#string">listViewConfig-organizationForTraining.xml</display:listViewConfigFile>
|
|
||||||
</rdf:Description>
|
|
||||||
|
|
||||||
<rdf:Description rdf:about="http://vivoweb.org/ontology/core#mailingAddress">
|
|
||||||
<display:listViewConfigFile rdf:datatype="http://www.w3.org/2001/XMLSchema#string">listViewConfig-mailingAddress.xml</display:listViewConfigFile>
|
|
||||||
</rdf:Description>
|
|
||||||
|
|
||||||
<rdf:Description rdf:about="http://vivoweb.org/ontology/core#awardOrHonor">
|
|
||||||
<display:listViewConfigFile rdf:datatype="http://www.w3.org/2001/XMLSchema#string">listViewConfig-awardOrHonor.xml</display:listViewConfigFile>
|
|
||||||
</rdf:Description>
|
|
||||||
<rdf:Description rdf:about="http://vivoweb.org/ontology/core#advisorIn">
|
|
||||||
<display:listViewConfigFile rdf:datatype="http://www.w3.org/2001/XMLSchema#string">listViewConfig-advisorIn.xml</display:listViewConfigFile>
|
|
||||||
</rdf:Description>
|
|
||||||
|
|
||||||
<rdf:Description rdf:about="http://vivoweb.org/ontology/core#hasRole">
|
|
||||||
<display:listViewConfigFile rdf:datatype="http://www.w3.org/2001/XMLSchema#string">listViewConfig-hasRole.xml</display:listViewConfigFile>
|
|
||||||
</rdf:Description>
|
|
||||||
|
|
||||||
<rdf:Description rdf:about="http://vivoweb.org/ontology/core#researchAreaOf">
|
<rdf:Description rdf:about="http://vivoweb.org/ontology/core#researchAreaOf">
|
||||||
<display:listViewConfigFile rdf:datatype="http://www.w3.org/2001/XMLSchema#string">listViewConfig-researchAreaOf.xml</display:listViewConfigFile>
|
<display:listViewConfigFile rdf:datatype="http://www.w3.org/2001/XMLSchema#string">listViewConfig-researchAreaOf.xml</display:listViewConfigFile>
|
||||||
</rdf:Description>
|
</rdf:Description>
|
||||||
|
|
|
@ -31,17 +31,6 @@ Custom form for adding or editing a webpage associated with an individual. The p
|
||||||
ManageWebpagesForIndividual, should forward to this page if: (a) we are adding a new page, or
|
ManageWebpagesForIndividual, should forward to this page if: (a) we are adding a new page, or
|
||||||
(b) an edit link in the Manage Webpages view has been clicked. But right now (a) is not implemented.
|
(b) an edit link in the Manage Webpages view has been clicked. But right now (a) is not implemented.
|
||||||
|
|
||||||
Object properties:
|
|
||||||
core:webpage (range: core:URLLink)
|
|
||||||
core:webpageOf (domain: core:URLLink) (inverse of core:webpage)
|
|
||||||
|
|
||||||
Class:
|
|
||||||
core:URLLink - the link to be added to the individual
|
|
||||||
|
|
||||||
Data properties of core:URLLink:
|
|
||||||
core:linkUrlPredicate
|
|
||||||
core:linkAnchorText
|
|
||||||
core:rank
|
|
||||||
|
|
||||||
*/
|
*/
|
||||||
public class AddEditWebpageFormGenerator extends BaseEditConfigurationGenerator implements EditConfigurationGenerator {
|
public class AddEditWebpageFormGenerator extends BaseEditConfigurationGenerator implements EditConfigurationGenerator {
|
||||||
|
|
|
@ -39,12 +39,6 @@ import edu.cornell.mannlib.vitro.webapp.utils.generators.EditModeUtils;
|
||||||
* Custom form for adding a grant to an person for the predicates hasCo-PrincipalInvestigatorRole
|
* Custom form for adding a grant to an person for the predicates hasCo-PrincipalInvestigatorRole
|
||||||
and hasPrincipalInvestigatorRole.
|
and hasPrincipalInvestigatorRole.
|
||||||
|
|
||||||
This is intended to create a set of statements like:
|
|
||||||
|
|
||||||
?person core:hasPrincipalInvestigatorRole ?newRole.
|
|
||||||
?newRole rdf:type core:PrincipalInvestigatorRole ;
|
|
||||||
core:relatedRole ?someGrant .
|
|
||||||
|
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class AddGrantRoleToPersonGenerator implements EditConfigurationGenerator {
|
public class AddGrantRoleToPersonGenerator implements EditConfigurationGenerator {
|
||||||
|
@ -664,12 +658,12 @@ public class AddGrantRoleToPersonGenerator implements EditConfigurationGenerator
|
||||||
//Some values will have a default value
|
//Some values will have a default value
|
||||||
//grantToRolePredicate
|
//grantToRolePredicate
|
||||||
public String getDefaultgrantToRolePredicate() {
|
public String getDefaultgrantToRolePredicate() {
|
||||||
return "http://vivoweb.org/ontology/core#relatedRole";
|
return "http://vivoweb.org/ontology/core#relates";
|
||||||
}
|
}
|
||||||
|
|
||||||
//roleToGrantPredicate
|
//roleToGrantPredicate
|
||||||
public String getDefaultroleToGrantPredicate() {
|
public String getDefaultroleToGrantPredicate() {
|
||||||
return "http://vivoweb.org/ontology/core#roleIn";
|
return "http://purl.obolibrary.org/obo/BFO_0000054";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -351,28 +351,28 @@ public class AddPublicationToPersonGenerator extends VivoBaseGenerator implement
|
||||||
return "@prefix vivo: <" + vivoCore + "> . \n" +
|
return "@prefix vivo: <" + vivoCore + "> . \n" +
|
||||||
"?pubUri <" + presentedAtPred + "> ?newConference . \n" +
|
"?pubUri <" + presentedAtPred + "> ?newConference . \n" +
|
||||||
"?newConference a <" + conferenceClass + "> . \n" +
|
"?newConference a <" + conferenceClass + "> . \n" +
|
||||||
"?newConference vivo:includesEvent ?pubUri . \n" +
|
"?newConference <http://purl.obolibrary.org/obo/BFO_0000051> ?pubUri . \n" +
|
||||||
"?newConference <" + label + "> ?conference .";
|
"?newConference <" + label + "> ?conference .";
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getN3ForConference() {
|
private String getN3ForConference() {
|
||||||
return "@prefix vivo: <" + vivoCore + "> . \n" +
|
return "@prefix vivo: <" + vivoCore + "> . \n" +
|
||||||
"?pubUri <" + presentedAtPred + "> ?conferenceUri . \n" +
|
"?pubUri <" + presentedAtPred + "> ?conferenceUri . \n" +
|
||||||
"?conferenceUri vivo:includesEvent ?pubUri . ";
|
"?conferenceUri <http://purl.obolibrary.org/obo/BFO_0000051> ?pubUri . ";
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getN3ForNewConferenceNewPub() {
|
private String getN3ForNewConferenceNewPub() {
|
||||||
return "@prefix vivo: <" + vivoCore + "> . \n" +
|
return "@prefix vivo: <" + vivoCore + "> . \n" +
|
||||||
"?newPublication <" + presentedAtPred + "> ?newConference . \n" +
|
"?newPublication <" + presentedAtPred + "> ?newConference . \n" +
|
||||||
"?newConference a <" + conferenceClass + "> . \n" +
|
"?newConference a <" + conferenceClass + "> . \n" +
|
||||||
"?newConference vivo:includesEvent ?newPublication . \n" +
|
"?newConference <http://purl.obolibrary.org/obo/BFO_0000051> ?newPublication . \n" +
|
||||||
"?newConference <" + label + "> ?conference .";
|
"?newConference <" + label + "> ?conference .";
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getN3ForConferenceNewPub() {
|
private String getN3ForConferenceNewPub() {
|
||||||
return "@prefix vivo: <" + vivoCore + "> . \n" +
|
return "@prefix vivo: <" + vivoCore + "> . \n" +
|
||||||
"?newPublication <" + presentedAtPred + "> ?conferenceUri . \n" +
|
"?newPublication <" + presentedAtPred + "> ?conferenceUri . \n" +
|
||||||
"?conferenceUri vivo:includesEvent ?newPublication . ";
|
"?conferenceUri <http://purl.obolibrary.org/obo/BFO_0000051> ?newPublication . ";
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getN3ForNewEvent() {
|
private String getN3ForNewEvent() {
|
||||||
|
@ -911,7 +911,7 @@ public class AddPublicationToPersonGenerator extends VivoBaseGenerator implement
|
||||||
literalOptions.add(list("http://purl.org/ontology/bibo/Report", "Report"));
|
literalOptions.add(list("http://purl.org/ontology/bibo/Report", "Report"));
|
||||||
literalOptions.add(list("http://vivoweb.org/ontology/core#ResearchProposal", "Research Proposal"));
|
literalOptions.add(list("http://vivoweb.org/ontology/core#ResearchProposal", "Research Proposal"));
|
||||||
literalOptions.add(list("http://vivoweb.org/ontology/core#Review", "Review"));
|
literalOptions.add(list("http://vivoweb.org/ontology/core#Review", "Review"));
|
||||||
literalOptions.add(list("http://vivoweb.org/ontology/core#Software", "Software"));
|
literalOptions.add(list("http://purl.obolibrary.org/obo/ERO_0000071 ", "Software"));
|
||||||
literalOptions.add(list("http://vivoweb.org/ontology/core#Speech", "Speech"));
|
literalOptions.add(list("http://vivoweb.org/ontology/core#Speech", "Speech"));
|
||||||
literalOptions.add(list("http://purl.org/ontology/bibo/Thesis", "Thesis"));
|
literalOptions.add(list("http://purl.org/ontology/bibo/Thesis", "Thesis"));
|
||||||
literalOptions.add(list("http://vivoweb.org/ontology/core#Video", "Video"));
|
literalOptions.add(list("http://vivoweb.org/ontology/core#Video", "Video"));
|
||||||
|
@ -941,7 +941,7 @@ public class AddPublicationToPersonGenerator extends VivoBaseGenerator implement
|
||||||
}
|
}
|
||||||
|
|
||||||
public EditMode getEditMode(VitroRequest vreq) {
|
public EditMode getEditMode(VitroRequest vreq) {
|
||||||
return EditModeUtils.getEditMode(vreq, list("http://vivoweb.org/ontology/core#linkedInformationResource"));
|
return EditModeUtils.getEditMode(vreq, list("http://vivoweb.org/ontology/core#relates"));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,388 @@
|
||||||
|
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
|
||||||
|
package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpSession;
|
||||||
|
|
||||||
|
import com.hp.hpl.jena.vocabulary.XSD;
|
||||||
|
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeIntervalValidationVTwo;
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeWithPrecisionVTwo;
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo;
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ChildVClassesOptions;
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ChildVClassesWithParent;
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo;
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.IndividualsViaVClassOptions;
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation;
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode;
|
||||||
|
import edu.cornell.mannlib.vitro.webapp.utils.generators.EditModeUtils;
|
||||||
|
|
||||||
|
public class OrganizationForTrainingGenerator extends VivoBaseGenerator implements EditConfigurationGenerator{
|
||||||
|
|
||||||
|
//TODO: can we get rid of the session and get it form the vreq?
|
||||||
|
public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, HttpSession session) throws Exception {
|
||||||
|
|
||||||
|
EditConfigurationVTwo conf = new EditConfigurationVTwo();
|
||||||
|
|
||||||
|
initBasics(conf, vreq);
|
||||||
|
initPropertyParameters(vreq, session, conf);
|
||||||
|
initObjectPropForm(conf, vreq);
|
||||||
|
|
||||||
|
conf.setTemplate("organizationForTraining.ftl");
|
||||||
|
|
||||||
|
conf.setVarNameForSubject("organization");
|
||||||
|
conf.setVarNameForPredicate("predicate");
|
||||||
|
conf.setVarNameForObject("edTraining");
|
||||||
|
|
||||||
|
conf.setN3Required( Arrays.asList( n3ForNewEdTraining, trainingTypeAssertion ) );
|
||||||
|
conf.setN3Optional(Arrays.asList( majorFieldAssertion, n3ForAwardedDegree, n3ForNewPersonanization, n3ForExistingPersonanization,
|
||||||
|
n3ForNewPersonAwardedDegree, n3ForExistingPersonAwardedDegree, deptAssertion, infoAssertion, n3ForStart, n3ForEnd ));
|
||||||
|
|
||||||
|
conf.addNewResource("edTraining", DEFAULT_NS_FOR_NEW_RESOURCE);
|
||||||
|
conf.addNewResource("awardedDegree",DEFAULT_NS_FOR_NEW_RESOURCE);
|
||||||
|
conf.addNewResource("newPerson",DEFAULT_NS_FOR_NEW_RESOURCE);
|
||||||
|
conf.addNewResource("intervalNode",DEFAULT_NS_FOR_NEW_RESOURCE);
|
||||||
|
conf.addNewResource("startNode",DEFAULT_NS_FOR_NEW_RESOURCE);
|
||||||
|
conf.addNewResource("endNode",DEFAULT_NS_FOR_NEW_RESOURCE);
|
||||||
|
conf.addNewResource("vcardPerson", DEFAULT_NS_FOR_NEW_RESOURCE);
|
||||||
|
conf.addNewResource("vcardName", DEFAULT_NS_FOR_NEW_RESOURCE);
|
||||||
|
|
||||||
|
//uris in scope: none
|
||||||
|
//literals in scope: none
|
||||||
|
|
||||||
|
conf.setUrisOnform( Arrays.asList( "existingPerson", "personType", "degreeType", "trainingType"));
|
||||||
|
conf.setLiteralsOnForm( Arrays.asList("personLabel", "personLabelDisplay", "awardedDegreeLabel",
|
||||||
|
"majorField", "dept", "info", "firstName", "lastName"));
|
||||||
|
|
||||||
|
conf.addSparqlForExistingLiteral("personLabel", personLabelQuery);
|
||||||
|
conf.addSparqlForExistingLiteral("majorField", majorFieldQuery);
|
||||||
|
conf.addSparqlForExistingLiteral("dept", deptQuery);
|
||||||
|
conf.addSparqlForExistingLiteral("info", infoQuery);
|
||||||
|
conf.addSparqlForExistingLiteral("startField-value", existingStartDateQuery);
|
||||||
|
conf.addSparqlForExistingLiteral("endField-value", existingEndDateQuery);
|
||||||
|
|
||||||
|
|
||||||
|
conf.addSparqlForExistingUris("awardedDegree", existingAwardedDegreeQuery);
|
||||||
|
conf.addSparqlForExistingUris("existingPerson", existingPersonQuery);
|
||||||
|
// conf.addSparqlForExistingUris("personType", personTypeQuery);
|
||||||
|
conf.addSparqlForExistingUris("trainingType", trainingTypeQuery);
|
||||||
|
conf.addSparqlForExistingUris("degreeType", degreeTypeQuery);
|
||||||
|
conf.addSparqlForExistingUris("intervalNode",existingIntervalNodeQuery);
|
||||||
|
conf.addSparqlForExistingUris("startNode", existingStartNodeQuery);
|
||||||
|
conf.addSparqlForExistingUris("endNode", existingEndNodeQuery);
|
||||||
|
conf.addSparqlForExistingUris("startField-precision", existingStartPrecisionQuery);
|
||||||
|
conf.addSparqlForExistingUris("endField-precision", existingEndPrecisionQuery);
|
||||||
|
//Add sparql to include inverse property as well
|
||||||
|
conf.addSparqlForAdditionalUrisInScope("inverseTrainingAtPerson", inverseTrainingAtPersonQuery);
|
||||||
|
|
||||||
|
conf.addField( new FieldVTwo().
|
||||||
|
setName("degreeType").
|
||||||
|
setOptions( new IndividualsViaVClassOptions(
|
||||||
|
degreeTypeClass)));
|
||||||
|
|
||||||
|
conf.addField( new FieldVTwo().
|
||||||
|
setName("majorField").
|
||||||
|
setRangeDatatypeUri( XSD.xstring.toString() ).
|
||||||
|
setValidators(list("datatype:" + XSD.xstring.toString())));
|
||||||
|
|
||||||
|
conf.addField( new FieldVTwo().
|
||||||
|
setName("existingPerson")
|
||||||
|
//options will be added in browser by auto complete JS
|
||||||
|
);
|
||||||
|
|
||||||
|
conf.addField( new FieldVTwo().
|
||||||
|
setName("awardedDegree")
|
||||||
|
//options will be added in browser by auto complete JS
|
||||||
|
);
|
||||||
|
|
||||||
|
conf.addField( new FieldVTwo().
|
||||||
|
setName("personLabel").
|
||||||
|
setRangeDatatypeUri(XSD.xstring.toString() ).
|
||||||
|
setValidators( list("datatype:" + XSD.xstring.toString())));
|
||||||
|
|
||||||
|
conf.addField( new FieldVTwo().
|
||||||
|
setName("awardedDegreeLabel").
|
||||||
|
setRangeDatatypeUri(XSD.xstring.toString() ).
|
||||||
|
setValidators( list("datatype:" + XSD.xstring.toString())));
|
||||||
|
|
||||||
|
conf.addField( new FieldVTwo().
|
||||||
|
setName("existingAwardedDegreeLabel").
|
||||||
|
setRangeDatatypeUri(XSD.xstring.toString() ).
|
||||||
|
setValidators( list("datatype:" + XSD.xstring.toString())));
|
||||||
|
|
||||||
|
conf.addField( new FieldVTwo().
|
||||||
|
setName("personLabelDisplay").
|
||||||
|
setRangeDatatypeUri(XSD.xstring.toString() ));
|
||||||
|
|
||||||
|
conf.addField( new FieldVTwo().
|
||||||
|
setName("firstName").
|
||||||
|
setRangeDatatypeUri(XSD.xstring.toString() ).
|
||||||
|
setValidators( list("datatype:" + XSD.xstring.toString()) )
|
||||||
|
);
|
||||||
|
|
||||||
|
conf.addField( new FieldVTwo().
|
||||||
|
setName("lastName").
|
||||||
|
setRangeDatatypeUri(XSD.xstring.toString() ).
|
||||||
|
setValidators( list("datatype:" + XSD.xstring.toString()) )
|
||||||
|
);
|
||||||
|
|
||||||
|
conf.addField( new FieldVTwo().
|
||||||
|
setName("trainingType").
|
||||||
|
setValidators( list("nonempty") ).
|
||||||
|
setOptions(
|
||||||
|
new ChildVClassesWithParent(edProcessClass)));
|
||||||
|
|
||||||
|
conf.addField( new FieldVTwo().
|
||||||
|
setName("dept").
|
||||||
|
setRangeDatatypeUri( XSD.xstring.toString() ).
|
||||||
|
setValidators(list("datatype:" + XSD.xstring.toString())));
|
||||||
|
|
||||||
|
conf.addField( new FieldVTwo().
|
||||||
|
setName("info").
|
||||||
|
setRangeDatatypeUri( XSD.xstring.toString() ).
|
||||||
|
setValidators(list("datatype:" + XSD.xstring.toString())));
|
||||||
|
|
||||||
|
FieldVTwo startField = new FieldVTwo().
|
||||||
|
setName("startField");
|
||||||
|
conf.addField(startField.
|
||||||
|
setEditElement(
|
||||||
|
new DateTimeWithPrecisionVTwo(startField,
|
||||||
|
VitroVocabulary.Precision.YEAR.uri(),
|
||||||
|
VitroVocabulary.Precision.NONE.uri())));
|
||||||
|
|
||||||
|
FieldVTwo endField = new FieldVTwo().
|
||||||
|
setName("endField");
|
||||||
|
conf.addField( endField.
|
||||||
|
setEditElement(
|
||||||
|
new DateTimeWithPrecisionVTwo(endField,
|
||||||
|
VitroVocabulary.Precision.YEAR.uri(),
|
||||||
|
VitroVocabulary.Precision.NONE.uri())));
|
||||||
|
//Add validator
|
||||||
|
conf.addValidator(new DateTimeIntervalValidationVTwo("startField","endField"));
|
||||||
|
conf.addValidator(new AntiXssValidation());
|
||||||
|
|
||||||
|
//Adding additional data, specifically edit mode
|
||||||
|
addFormSpecificData(conf, vreq);
|
||||||
|
prepare(vreq, conf);
|
||||||
|
return conf;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* N3 assertions for working with educational training */
|
||||||
|
|
||||||
|
final static String n3ForNewEdTraining =
|
||||||
|
"@prefix core: <"+ vivoCore +"> .\n"+
|
||||||
|
"?organization <http://purl.obolibrary.person/obo/RO_0000056> ?edTraining .\n" +
|
||||||
|
"?edTraining a core:EducationalProcess .\n" +
|
||||||
|
"?edTraining <http://purl.obolibrary.person/obo/RO_0000057> ?organization .";
|
||||||
|
|
||||||
|
final static String trainingTypeAssertion =
|
||||||
|
"?edTraining a ?trainingType .";
|
||||||
|
|
||||||
|
final static String n3ForAwardedDegree =
|
||||||
|
"@prefix core: <"+ vivoCore +"> .\n"+
|
||||||
|
"?edTraining <http://purl.obolibrary.person/obo/RO_0002234> ?awardedDegree . \n" +
|
||||||
|
"?awardedDegree <http://purl.obolibrary.person/obo/RO_0002353> ?edTraining . \n" +
|
||||||
|
"?awardedDegree <http://vivoweb.person/ontology/core#assignedBy> ?organization . \n" +
|
||||||
|
"?organization <http://vivoweb.person/ontology/core#assigns> ?awardedDegree . \n" +
|
||||||
|
"?awardedDegree <"+ label +"> ?awardedDegreeLabel . \n" +
|
||||||
|
"?awardedDegree <http://vivoweb.person/ontology/core#relates> ?degreeType .\n"+
|
||||||
|
"?degreeType <http://vivoweb.person/ontology/core#relatedBy> ?awardedDegree . \n"+
|
||||||
|
"?awardedDegree a core:AwardedDegree .";
|
||||||
|
|
||||||
|
final static String n3ForNewPersonanization =
|
||||||
|
"?edTraining <http://purl.obolibrary.person/obo/RO_0000057> ?newPerson . \n" +
|
||||||
|
"?newPerson <http://purl.obolibrary.person/obo/RO_0000056> ?edTraining . \n" +
|
||||||
|
"?newPerson a <http://xmlns.com/foaf/0.1/Person> . \n" +
|
||||||
|
"?newPerson <"+ label +"> ?personLabel . ";
|
||||||
|
|
||||||
|
final static String n3ForExistingPersonanization =
|
||||||
|
"?edTraining <http://purl.obolibrary.person/obo/RO_0000057> ?existingPerson . \n" +
|
||||||
|
"?existingPerson <http://purl.obolibrary.person/obo/RO_0000056> ?edTraining . \n" +
|
||||||
|
"?existingPerson a ?personType . ";
|
||||||
|
|
||||||
|
final static String n3ForNewPersonAwardedDegree =
|
||||||
|
"?awardedDegree <http://vivoweb.person/ontology/core#relates> ?newPerson . \n" +
|
||||||
|
"?newPerson <http://vivoweb.person/ontology/core#releatedBy> ?awardedDegree . \n" +
|
||||||
|
"?newPerson a <http://xmlns.com/foaf/0.1/Person> . \n" +
|
||||||
|
"?awardedDegree <"+ label +"> ?awardedDegreeLabel . \n" +
|
||||||
|
"?newPerson <"+ label +"> ?personLabel . ";
|
||||||
|
|
||||||
|
final static String firstNameAssertion =
|
||||||
|
"@prefix vcard: <http://www.w3.org/2006/vcard/ns#> . \n" +
|
||||||
|
"?newPerson <http://purl.obolibrary.org/obo/ARG_2000028> ?vcardPerson . \n" +
|
||||||
|
"?vcardPerson <http://purl.obolibrary.org/obo/ARG_2000029> ?newPerson . \n" +
|
||||||
|
"?vcardPerson a <http://www.w3.org/2006/vcard/ns#Individual> . \n" +
|
||||||
|
"?vcardPerson vcard:hasName ?vcardName . \n" +
|
||||||
|
"?vcardName a <http://www.w3.org/2006/vcard/ns#Name> . \n" +
|
||||||
|
"?vcardName vcard:givenName ?firstName .";
|
||||||
|
|
||||||
|
final static String lastNameAssertion =
|
||||||
|
"@prefix vcard: <http://www.w3.org/2006/vcard/ns#> . \n" +
|
||||||
|
"?newPerson <http://purl.obolibrary.org/obo/ARG_2000028> ?vcardPerson . \n" +
|
||||||
|
"?vcardPerson <http://purl.obolibrary.org/obo/ARG_2000029> ?newPerson . \n" +
|
||||||
|
"?vcardPerson a <http://www.w3.org/2006/vcard/ns#Individual> . \n" +
|
||||||
|
"?vcardPerson vcard:hasName ?vcardName . \n" +
|
||||||
|
"?vcardName a <http://www.w3.org/2006/vcard/ns#Name> . \n" +
|
||||||
|
"?vcardName vcard:familyName ?lastName .";
|
||||||
|
|
||||||
|
final static String n3ForExistingPersonAwardedDegree =
|
||||||
|
"?awardedDegree <http://vivoweb.person/ontology/core#relates> ?existingPerson . \n" +
|
||||||
|
"?existingPerson <http://vivoweb.person/ontology/core#relatedBy> ?awardedDegree . \n" +
|
||||||
|
"?awardedDegree <"+ label +"> ?awardedDegreeLabel . \n" +
|
||||||
|
"?existingPerson a <http://xmlns.com/foaf/0.1/Person> . ";
|
||||||
|
|
||||||
|
final static String majorFieldAssertion =
|
||||||
|
"?edTraining <"+ majorFieldPred +"> ?majorField .";
|
||||||
|
|
||||||
|
final static String n3ForStart =
|
||||||
|
"?edTraining <"+ toInterval +"> ?intervalNode .\n"+
|
||||||
|
"?intervalNode <"+ type +"> <"+ intervalType +"> .\n"+
|
||||||
|
"?intervalNode <"+ intervalToStart +"> ?startNode .\n"+
|
||||||
|
"?startNode <"+ type +"> <"+ dateTimeValueType +"> .\n"+
|
||||||
|
"?startNode <"+ dateTimeValue +"> ?startField-value .\n"+
|
||||||
|
"?startNode <"+ dateTimePrecision +"> ?startField-precision .";
|
||||||
|
|
||||||
|
final static String n3ForEnd =
|
||||||
|
"?edTraining <"+ toInterval +"> ?intervalNode . \n"+
|
||||||
|
"?intervalNode <"+ type +"> <"+ intervalType +"> .\n"+
|
||||||
|
"?intervalNode <"+ intervalToEnd +"> ?endNode .\n"+
|
||||||
|
"?endNode <"+ type +"> <"+ dateTimeValueType +"> .\n"+
|
||||||
|
"?endNode <"+ dateTimeValue +"> ?endField-value .\n"+
|
||||||
|
"?endNode <"+ dateTimePrecision +"> ?endField-precision .";
|
||||||
|
|
||||||
|
final static String deptAssertion =
|
||||||
|
"?edTraining <"+ deptPred +"> ?dept .";
|
||||||
|
|
||||||
|
final static String infoAssertion =
|
||||||
|
"?edTraining <"+ infoPred +"> ?info .";
|
||||||
|
|
||||||
|
/* Queries for editing an existing educational training entry */
|
||||||
|
|
||||||
|
final static String existingAwardedDegreeQuery =
|
||||||
|
"SELECT ?existingAwardedDegree WHERE {\n"+
|
||||||
|
"?edTraining <http://purl.obolibrary.person/obo/RO_0002234> ?existingAwardedDegree . }\n";
|
||||||
|
|
||||||
|
final static String existingAwardedDegreeLabelQuery =
|
||||||
|
"SELECT ?existingAwardedDegreeLabel WHERE {\n"+
|
||||||
|
"?edTraining <http://purl.obolibrary.person/obo/RO_0002234> ?existingAwardedDegree . \n" +
|
||||||
|
"?existingAwardedDegree <"+ label +"> ?existingAwardedDegreeLabel }\n";
|
||||||
|
|
||||||
|
final static String existingPersonQuery =
|
||||||
|
"PREFIX rdfs: <"+ rdfs +"> \n"+
|
||||||
|
"SELECT ?existingPerson WHERE {\n"+
|
||||||
|
"?edTraining <http://purl.obolibrary.person/obo/RO_0000057> ?existingPerson . \n" +
|
||||||
|
"?existingPerson <http://purl.obolibrary.person/obo/RO_0000056> ?edTraining . \n" +
|
||||||
|
"?existingPerson a <http://xmlns.com/foaf/0.1/Person> . \n " +
|
||||||
|
" }";
|
||||||
|
|
||||||
|
final static String personLabelQuery =
|
||||||
|
"PREFIX rdfs: <"+ rdfs +"> \n"+
|
||||||
|
"SELECT ?existingPersonLabel WHERE {\n"+
|
||||||
|
"?edTraining <http://purl.obolibrary.person/obo/RO_0000057> ?existingPerson . \n" +
|
||||||
|
"?existingPerson <http://purl.obolibrary.person/obo/RO_0000056> ?edTraining .\n"+
|
||||||
|
"?existingPerson <"+ label +"> ?existingPersonLabel .\n"+
|
||||||
|
"?existingPerson a <http://xmlns.com/foaf/0.1/Person> . \n " +
|
||||||
|
" }";
|
||||||
|
|
||||||
|
final static String trainingTypeQuery =
|
||||||
|
"PREFIX vitro: <" + VitroVocabulary.vitroURI + "> \n" +
|
||||||
|
"SELECT ?existingTrainingType WHERE { \n" +
|
||||||
|
" ?edTraining vitro:mostSpecificType ?existingTrainingType . }";
|
||||||
|
|
||||||
|
final static String degreeTypeQuery =
|
||||||
|
"PREFIX core: <"+ vivoCore +"> \n"+
|
||||||
|
"SELECT ?existingDegreeType WHERE {\n"+
|
||||||
|
"?edTraining <http://purl.obolibrary.person/obo/RO_0002234> ?existingAwardedDegree . \n"+
|
||||||
|
"?existingAwardedDegree a core:AwardedDegree . \n"+
|
||||||
|
"?existingAwardedDegree core:relates ?existingDegreeType . \n" +
|
||||||
|
"?existingDegreeType a core:AcademicDegree }";
|
||||||
|
|
||||||
|
final static String majorFieldQuery =
|
||||||
|
"SELECT ?existingMajorField WHERE {\n"+
|
||||||
|
"?edTraining <"+ majorFieldPred +"> ?existingMajorField . }";
|
||||||
|
|
||||||
|
final static String deptQuery =
|
||||||
|
"SELECT ?existingDept WHERE {\n"+
|
||||||
|
"?edTraining <"+ deptPred +"> ?existingDept . }";
|
||||||
|
|
||||||
|
final static String infoQuery =
|
||||||
|
"SELECT ?existingInfo WHERE {\n"+
|
||||||
|
"?edTraining <"+ infoPred +"> ?existingInfo . }";
|
||||||
|
|
||||||
|
final static String existingIntervalNodeQuery =
|
||||||
|
"SELECT ?existingIntervalNode WHERE {\n"+
|
||||||
|
"?edTraining <"+ toInterval +"> ?existingIntervalNode .\n"+
|
||||||
|
"?existingIntervalNode <"+ type +"> <"+ intervalType +"> . }";
|
||||||
|
|
||||||
|
final static String existingStartNodeQuery =
|
||||||
|
"SELECT ?existingStartNode WHERE {\n"+
|
||||||
|
"?edTraining <"+ toInterval +"> ?intervalNode .\n"+
|
||||||
|
"?intervalNode <"+ type +"> <"+ intervalType +"> .\n"+
|
||||||
|
"?intervalNode <"+ intervalToStart +"> ?existingStartNode . \n"+
|
||||||
|
"?existingStartNode <"+ type +"> <"+ dateTimeValueType +"> .}";
|
||||||
|
|
||||||
|
final static String existingStartDateQuery =
|
||||||
|
"SELECT ?existingDateStart WHERE {\n"+
|
||||||
|
"?edTraining <"+ toInterval +"> ?intervalNode .\n"+
|
||||||
|
"?intervalNode <"+ type +"> <"+ intervalType +"> .\n"+
|
||||||
|
"?intervalNode <"+ intervalToStart +"> ?startNode .\n"+
|
||||||
|
"?startNode <"+ type +"> <"+ dateTimeValueType +"> .\n"+
|
||||||
|
"?startNode <"+ dateTimeValue +"> ?existingDateStart . }";
|
||||||
|
|
||||||
|
final static String existingStartPrecisionQuery =
|
||||||
|
"SELECT ?existingStartPrecision WHERE {\n"+
|
||||||
|
"?edTraining <"+ toInterval +"> ?intervalNode .\n"+
|
||||||
|
"?intervalNode <"+ type +"> <"+ intervalType +"> .\n"+
|
||||||
|
"?intervalNode <"+ intervalToStart +"> ?startNode .\n"+
|
||||||
|
"?startNode <"+ type +"> <"+ dateTimeValueType +"> . \n"+
|
||||||
|
"?startNode <"+ dateTimePrecision +"> ?existingStartPrecision . }";
|
||||||
|
|
||||||
|
final static String existingEndNodeQuery =
|
||||||
|
"SELECT ?existingEndNode WHERE { \n"+
|
||||||
|
"?edTraining <"+ toInterval +"> ?intervalNode .\n"+
|
||||||
|
"?intervalNode <"+ type +"> <"+ intervalType +"> .\n"+
|
||||||
|
"?intervalNode <"+ intervalToEnd +"> ?existingEndNode . \n"+
|
||||||
|
"?existingEndNode <"+ type +"> <"+ dateTimeValueType +"> .}";
|
||||||
|
|
||||||
|
final static String existingEndDateQuery =
|
||||||
|
"SELECT ?existingEndDate WHERE {\n"+
|
||||||
|
"?edTraining <"+ toInterval +"> ?intervalNode .\n"+
|
||||||
|
"?intervalNode <"+ type +"> <"+ intervalType +"> .\n"+
|
||||||
|
"?intervalNode <"+ intervalToEnd +"> ?endNode .\n"+
|
||||||
|
"?endNode <"+ type +"> <"+ dateTimeValueType +"> .\n"+
|
||||||
|
"?endNode <"+ dateTimeValue +"> ?existingEndDate . }";
|
||||||
|
|
||||||
|
final static String existingEndPrecisionQuery =
|
||||||
|
"SELECT ?existingEndPrecision WHERE {\n"+
|
||||||
|
"?edTraining <"+ toInterval +"> ?intervalNode .\n"+
|
||||||
|
"?intervalNode <"+ type +"> <"+ intervalType +"> .\n"+
|
||||||
|
"?intervalNode <"+ intervalToEnd +"> ?endNode .\n"+
|
||||||
|
"?endNode <"+ type +"> <"+ dateTimeValueType +"> .\n"+
|
||||||
|
"?endNode <"+ dateTimePrecision +"> ?existingEndPrecision . }";
|
||||||
|
|
||||||
|
//Query for inverse property
|
||||||
|
final static String inverseTrainingAtPersonQuery =
|
||||||
|
"PREFIX owl: <http://www.w3.person/2002/07/owl#>"
|
||||||
|
+ " SELECT ?inverseTrainingAtPerson "
|
||||||
|
+ " WHERE { ?inverseTrainingAtPerson owl:inverseOf <http://vivoweb.person/ontology/core#relates> . } ";
|
||||||
|
|
||||||
|
|
||||||
|
//Adding form specific data such as edit mode
|
||||||
|
public void addFormSpecificData(EditConfigurationVTwo editConfiguration, VitroRequest vreq) {
|
||||||
|
HashMap<String, Object> formSpecificData = new HashMap<String, Object>();
|
||||||
|
formSpecificData.put("editMode", getEditMode(vreq).name().toLowerCase());
|
||||||
|
editConfiguration.setFormSpecificData(formSpecificData);
|
||||||
|
}
|
||||||
|
|
||||||
|
public EditMode getEditMode(VitroRequest vreq) {
|
||||||
|
List<String> predicates = new ArrayList<String>();
|
||||||
|
predicates.add("http://vivoweb.person/ontology/core#relates");
|
||||||
|
return EditModeUtils.getEditMode(vreq, predicates);
|
||||||
|
}
|
||||||
|
}
|
|
@ -27,46 +27,24 @@ import edu.cornell.mannlib.vitro.webapp.utils.generators.EditModeUtils;
|
||||||
Form for adding an educational attainment to an individual
|
Form for adding an educational attainment to an individual
|
||||||
|
|
||||||
Classes:
|
Classes:
|
||||||
core:EducationalTraining - primary new individual being created
|
core:EducationalProcess - primary new individual being created
|
||||||
foaf:Person - existing individual
|
foaf:Person - existing individual
|
||||||
foaf:Organization - new or existing individual
|
foaf:Organization - new or existing individual
|
||||||
core:AcademicdegreeType - existing individual
|
core:AcademicDegree - existing individual
|
||||||
|
core:AwardedDegree - new or existing individual
|
||||||
|
|
||||||
Data properties of EducationalTraining:
|
|
||||||
core:majorField
|
|
||||||
core:departmentOrSchool
|
|
||||||
core:supplementalInformation
|
|
||||||
|
|
||||||
Object properties (domain : range)
|
|
||||||
|
|
||||||
core:educationalTraining (Person : EducationalTraining) - inverse of core:educationalTrainingOf
|
|
||||||
core:educationalTrainingOf (EducationalTraining : Person) - inverse of core:educationalTraining
|
|
||||||
|
|
||||||
core:degreeTypeEarned (EducationalTraining : AcademicdegreeType) - inverse of core:degreeTypeOutcomeOf
|
|
||||||
core:degreeTypeOutcomeOf (AcademicdegreeType : EducationalTraining) - inverse of core:degreeTypeEarned
|
|
||||||
|
|
||||||
core:organizationGrantingdegreeType (EducationalTraining : Organization) - no inverse
|
|
||||||
|
|
||||||
Future version
|
|
||||||
--------------
|
|
||||||
Classes:
|
|
||||||
core:DateTimeValue
|
|
||||||
core:DateTimeValuePrecision
|
|
||||||
Object properties:
|
|
||||||
core:dateTimeValue (EducationalTraining : DateTimeValue)
|
|
||||||
core:dateTimePrecision (DateTimeValue : DateTimeValuePrecision)
|
|
||||||
|
|
||||||
|
|
||||||
There are 4 modes that this form can be in:
|
There are 4 modes that this form can be in:
|
||||||
1. Add, there is a subject and a predicate but no position and nothing else.
|
1. Add, there is a subject and a predicate but no position and nothing else.
|
||||||
|
|
||||||
2. normal edit where everything should already be filled out. There is a subject, a object and an individual on
|
2. normal edit where everything should already be filled out. There is a subject, a object and an individual on
|
||||||
the other end of the object's core:trainingAtOrganization stmt.
|
the other end of the object's relationship.
|
||||||
|
|
||||||
3. Repair a bad role node. There is a subject, prediate and object but there is no individual on the
|
3. Repair a bad role node. There is a subject, prediate and object but there is no individual on the
|
||||||
other end of the object's core:trainingAtOrganization stmt. This should be similar to an add but the form should be expanded.
|
other end of the object's relationship. This should be similar to an add but the form should be expanded.
|
||||||
|
|
||||||
4. Really bad node. multiple core:trainingAtOrganization statements.
|
4. Really bad node. multiple statements on the other end of the object's relationship.
|
||||||
|
|
||||||
* @author bdc34
|
* @author bdc34
|
||||||
*
|
*
|
||||||
|
|
|
@ -68,7 +68,7 @@ public class UtilitiesRequestHandler implements VisualizationRequestHandler {
|
||||||
|
|
||||||
|
|
||||||
String filterRule = "?predicate = j.2:mainImage "
|
String filterRule = "?predicate = j.2:mainImage "
|
||||||
+ "|| ?predicate = core:preferredTitle "
|
// + "|| ?predicate = core:preferredTitle "
|
||||||
+ "|| ?predicate = rdfs:label";
|
+ "|| ?predicate = rdfs:label";
|
||||||
|
|
||||||
QueryRunner<GenericQueryMap> profileQueryHandler =
|
QueryRunner<GenericQueryMap> profileQueryHandler =
|
||||||
|
|
Loading…
Add table
Reference in a new issue