Compare commits
No commits in common. "texts" and "queryBuilder" have entirely different histories.
texts
...
queryBuild
|
@ -1,649 +0,0 @@
|
||||||
/* $This file is distributed under the terms of the license in LICENSE$ */
|
|
||||||
|
|
||||||
package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators;
|
|
||||||
|
|
||||||
import static edu.cornell.mannlib.vitro.webapp.modelaccess.ModelNames.DISPLAY;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import javax.servlet.http.HttpSession;
|
|
||||||
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.JspToGeneratorMapping;
|
|
||||||
import org.apache.commons.logging.Log;
|
|
||||||
import org.apache.commons.logging.LogFactory;
|
|
||||||
|
|
||||||
import org.apache.jena.ontology.OntModel;
|
|
||||||
import org.apache.jena.query.QuerySolution;
|
|
||||||
import org.apache.jena.query.ResultSet;
|
|
||||||
import org.apache.jena.rdf.model.Literal;
|
|
||||||
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.application.ApplicationUtils;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.beans.Individual;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.beans.VClass;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.DisplayVocabulary;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.jena.QueryUtils;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.vclassgroup.ProhibitedFromSearch;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.IndividualsViaObjectPropetyOptions;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.i18n.I18n;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.modelaccess.ModelAccess;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.modules.searchEngine.SearchEngine;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.modules.searchEngine.SearchEngineException;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.modules.searchEngine.SearchQuery;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.modules.searchEngine.SearchResponse;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.modules.searchEngine.SearchResultDocumentList;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.search.VitroSearchTermNames;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Generates the edit configuration for a default property form.
|
|
||||||
* This handles the default object property auto complete.
|
|
||||||
*
|
|
||||||
* If a default property form is request and the number of indivdiuals
|
|
||||||
* found in the range is too large, the the auto complete setup and
|
|
||||||
* template will be used instead.
|
|
||||||
*/
|
|
||||||
public class AddRubricToELENPHArticleGenerator implements EditConfigurationGenerator {
|
|
||||||
|
|
||||||
private Log log = LogFactory.getLog(AddRubricToELENPHArticleGenerator.class);
|
|
||||||
private String subjectUri = null;
|
|
||||||
private String predicateUri = null;
|
|
||||||
private String objectUri = null;
|
|
||||||
|
|
||||||
private String objectPropertyTemplate = "defaultPropertyForm.ftl";
|
|
||||||
private String acObjectPropertyTemplate = "autoCompleteObjectPropForm.ftl";
|
|
||||||
|
|
||||||
private ArrayList<String> excerptIDs= new ArrayList<String>();
|
|
||||||
|
|
||||||
protected boolean doAutoComplete = false;
|
|
||||||
protected boolean tooManyRangeIndividuals = false;
|
|
||||||
|
|
||||||
protected long maxNonACRangeIndividualCount = 300;
|
|
||||||
protected String customErrorMessages = null;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq,
|
|
||||||
HttpSession session) throws Exception {
|
|
||||||
|
|
||||||
if(!EditConfigurationUtils.isObjectProperty(EditConfigurationUtils.getPredicateUri(vreq), vreq)) {
|
|
||||||
throw new Exception("DefaultObjectPropertyFormGenerator does not handle data properties.");
|
|
||||||
}
|
|
||||||
|
|
||||||
//Custom error can also be represented as an exception above, but in this case
|
|
||||||
//we would like the page to enable the user to go back to the profile page
|
|
||||||
|
|
||||||
customErrorMessages = getCustomErrorMessages(vreq);
|
|
||||||
if(customErrorMessages != null) {
|
|
||||||
return this.getCustomErrorEditConfiguration(vreq, session);
|
|
||||||
}
|
|
||||||
|
|
||||||
if( tooManyRangeOptions( vreq, session ) ){
|
|
||||||
tooManyRangeIndividuals = true;
|
|
||||||
doAutoComplete = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Check if create new and return specific edit configuration from that generator.
|
|
||||||
if(DefaultAddMissingIndividualFormGenerator.isCreateNewIndividual(vreq, session)) {
|
|
||||||
EditConfigurationGenerator generator = JspToGeneratorMapping.createFor("defaultAddMissingIndividualForm.jsp", DefaultAddMissingIndividualFormGenerator.class);
|
|
||||||
return generator.getEditConfiguration(vreq, session);
|
|
||||||
}
|
|
||||||
|
|
||||||
//TODO: Add a generator for delete: based on command being delete - propDelete.jsp
|
|
||||||
//Generate a edit configuration for the default object property form and return it.
|
|
||||||
//if(DefaultDeleteGenerator.isDelete( vreq,session)){
|
|
||||||
// return (new DefaultDeleteGenerator()).getEditConfiguration(vreq,session);
|
|
||||||
|
|
||||||
return getDefaultObjectEditConfiguration(vreq, session);
|
|
||||||
}
|
|
||||||
|
|
||||||
private String getCustomErrorMessages(VitroRequest vreq) {
|
|
||||||
String errorMessages = null;
|
|
||||||
String rangeUri = vreq.getParameter("rangeUri");
|
|
||||||
VClass rangeVClass = null;
|
|
||||||
if(rangeUri != null && !rangeUri.isEmpty()) {
|
|
||||||
WebappDaoFactory ctxDaoFact = vreq.getLanguageNeutralWebappDaoFactory();
|
|
||||||
rangeVClass = ctxDaoFact.getVClassDao().getVClassByURI(rangeUri);
|
|
||||||
if(rangeVClass == null) {
|
|
||||||
errorMessages = I18n.text(vreq,"the_range_class_does_not_exist");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return errorMessages;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected List<VClass> getRangeTypes(VitroRequest vreq) {
|
|
||||||
// This first part needs a WebappDaoFactory with no filtering/RDFService
|
|
||||||
// funny business because it needs to be able to retrieve anonymous union
|
|
||||||
// classes by their "pseudo-bnode URIs".
|
|
||||||
// Someday we'll need to figure out a different way of doing this.
|
|
||||||
//WebappDaoFactory ctxDaoFact = ModelAccess.on(
|
|
||||||
// vreq.getSession().getServletContext()).getWebappDaoFactory();
|
|
||||||
WebappDaoFactory ctxDaoFact = vreq.getLanguageNeutralWebappDaoFactory();
|
|
||||||
|
|
||||||
List<VClass> types = new ArrayList<VClass>();
|
|
||||||
Individual subject = EditConfigurationUtils.getSubjectIndividual(vreq);
|
|
||||||
String predicateUri = EditConfigurationUtils.getPredicateUri(vreq);
|
|
||||||
String rangeUri = EditConfigurationUtils.getRangeUri(vreq);
|
|
||||||
if (rangeUri != null && !rangeUri.isEmpty()) {
|
|
||||||
VClass rangeVClass = ctxDaoFact.getVClassDao().getVClassByURI(rangeUri);
|
|
||||||
if(rangeVClass != null) {
|
|
||||||
if (!rangeVClass.isUnion()) {
|
|
||||||
types.add(rangeVClass);
|
|
||||||
} else {
|
|
||||||
types.addAll(rangeVClass.getUnionComponents());
|
|
||||||
}
|
|
||||||
return types;
|
|
||||||
} else {
|
|
||||||
log.error("Range VClass does not exist for " + rangeUri);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
WebappDaoFactory wDaoFact = vreq.getWebappDaoFactory();
|
|
||||||
//Get all vclasses applicable to subject
|
|
||||||
if(subject != null) {
|
|
||||||
List<VClass> vClasses = subject.getVClasses();
|
|
||||||
HashMap<String, VClass> typesHash = new HashMap<String, VClass>();
|
|
||||||
for(VClass vclass: vClasses) {
|
|
||||||
List<VClass> rangeVclasses = wDaoFact.getVClassDao().getVClassesForProperty(vclass.getURI(),predicateUri);
|
|
||||||
if(rangeVclasses != null) {
|
|
||||||
for(VClass range: rangeVclasses) {
|
|
||||||
//a hash will keep a unique list of types and so prevent duplicates
|
|
||||||
typesHash.put(range.getURI(), range);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
types.addAll(typesHash.values());
|
|
||||||
} else {
|
|
||||||
log.error("Subject individual was null for");
|
|
||||||
}
|
|
||||||
return types;
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean tooManyRangeOptions(VitroRequest vreq, HttpSession session ) throws SearchEngineException {
|
|
||||||
List<VClass> rangeTypes = getRangeTypes(vreq);
|
|
||||||
SearchEngine searchEngine = ApplicationUtils.instance().getSearchEngine();
|
|
||||||
|
|
||||||
List<String> types = new ArrayList<String>();
|
|
||||||
for (VClass vclass : rangeTypes) {
|
|
||||||
if (vclass.getURI() != null) {
|
|
||||||
types.add(vclass.getURI());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//empty list means the range is not set to anything, force Thing
|
|
||||||
if(types.size() == 0 ){
|
|
||||||
types.add(VitroVocabulary.OWL_THING);
|
|
||||||
}
|
|
||||||
|
|
||||||
long count = 0;
|
|
||||||
for( String type:types){
|
|
||||||
//search query for type count.
|
|
||||||
SearchQuery query = searchEngine.createQuery();
|
|
||||||
if( VitroVocabulary.OWL_THING.equals( type )){
|
|
||||||
query.setQuery( "*:*" );
|
|
||||||
}else{
|
|
||||||
query.setQuery( VitroSearchTermNames.RDFTYPE + ":" + type);
|
|
||||||
}
|
|
||||||
query.setRows(0);
|
|
||||||
SearchResponse rsp = searchEngine.query(query);
|
|
||||||
SearchResultDocumentList docs = rsp.getResults();
|
|
||||||
long found = docs.getNumFound();
|
|
||||||
count = count + found;
|
|
||||||
if( count > maxNonACRangeIndividualCount )
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return count > maxNonACRangeIndividualCount ;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private EditConfigurationVTwo getDefaultObjectEditConfiguration(VitroRequest vreq, HttpSession session) throws Exception {
|
|
||||||
EditConfigurationVTwo editConfiguration = new EditConfigurationVTwo();
|
|
||||||
|
|
||||||
//process subject, predicate, object parameters
|
|
||||||
this.initProcessParameters(vreq, session, editConfiguration);
|
|
||||||
|
|
||||||
//Assumes this is a simple case of subject predicate var
|
|
||||||
editConfiguration.setN3Required(this.generateN3Required(vreq));
|
|
||||||
|
|
||||||
//n3 optional
|
|
||||||
editConfiguration.setN3Optional(this.generateN3Optional());
|
|
||||||
|
|
||||||
//Todo: what do new resources depend on here?
|
|
||||||
//In original form, these variables start off empty
|
|
||||||
editConfiguration.setNewResources(new HashMap<String, String>());
|
|
||||||
//In scope
|
|
||||||
this.setUrisAndLiteralsInScope(editConfiguration);
|
|
||||||
|
|
||||||
//on Form
|
|
||||||
this.setUrisAndLiteralsOnForm(editConfiguration, vreq);
|
|
||||||
|
|
||||||
editConfiguration.setFilesOnForm(new ArrayList<String>());
|
|
||||||
|
|
||||||
//Sparql queries
|
|
||||||
this.setSparqlQueries(editConfiguration);
|
|
||||||
|
|
||||||
//set fields
|
|
||||||
setFields(editConfiguration, vreq, EditConfigurationUtils.getPredicateUri(vreq), getRangeTypes(vreq));
|
|
||||||
|
|
||||||
// No need to put in session here b/c put in session within edit request dispatch controller instead
|
|
||||||
//placing in session depends on having edit key which is handled in edit request dispatch controller
|
|
||||||
// editConfiguration.putConfigInSession(editConfiguration, session);
|
|
||||||
|
|
||||||
prepareForUpdate(vreq, session, editConfiguration);
|
|
||||||
|
|
||||||
//After the main processing is done, check if select from existing process
|
|
||||||
processProhibitedFromSearch(vreq, session, editConfiguration);
|
|
||||||
|
|
||||||
//Form title and submit label moved to template
|
|
||||||
setTemplate(editConfiguration, vreq);
|
|
||||||
|
|
||||||
editConfiguration.addValidator(new AntiXssValidation());
|
|
||||||
|
|
||||||
//Set edit key
|
|
||||||
setEditKey(editConfiguration, vreq);
|
|
||||||
|
|
||||||
//Adding additional data, specifically edit mode
|
|
||||||
if( doAutoComplete ){
|
|
||||||
addFormSpecificDataForAC(editConfiguration, vreq, session);
|
|
||||||
}else{
|
|
||||||
addFormSpecificData(editConfiguration, vreq);
|
|
||||||
}
|
|
||||||
|
|
||||||
return editConfiguration;
|
|
||||||
}
|
|
||||||
|
|
||||||
//We only need enough for the error message to show up
|
|
||||||
private EditConfigurationVTwo getCustomErrorEditConfiguration(VitroRequest vreq, HttpSession session) {
|
|
||||||
EditConfigurationVTwo editConfiguration = new EditConfigurationVTwo();
|
|
||||||
|
|
||||||
//process subject, predicate, object parameters
|
|
||||||
this.initProcessParameters(vreq, session, editConfiguration);
|
|
||||||
|
|
||||||
this.setUrisAndLiteralsInScope(editConfiguration);
|
|
||||||
|
|
||||||
//Sparql queries
|
|
||||||
this.setSparqlQueries(editConfiguration);
|
|
||||||
|
|
||||||
|
|
||||||
prepareForUpdate(vreq, session, editConfiguration);
|
|
||||||
|
|
||||||
editConfiguration.setTemplate("customErrorMessages.ftl");
|
|
||||||
|
|
||||||
//Set edit key
|
|
||||||
setEditKey(editConfiguration, vreq);
|
|
||||||
|
|
||||||
//if custom error messages is not null, then add to form specific data
|
|
||||||
if(customErrorMessages != null) {
|
|
||||||
//at this point, it shouldn't be null
|
|
||||||
HashMap<String, Object> formSpecificData = new HashMap<String, Object>();
|
|
||||||
formSpecificData.put("customErrorMessages", customErrorMessages);
|
|
||||||
editConfiguration.setFormSpecificData(formSpecificData);
|
|
||||||
}
|
|
||||||
return editConfiguration;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void setEditKey(EditConfigurationVTwo editConfiguration, VitroRequest vreq) {
|
|
||||||
String editKey = EditConfigurationUtils.getEditKey(vreq);
|
|
||||||
editConfiguration.setEditKey(editKey);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void setTemplate(EditConfigurationVTwo editConfiguration,
|
|
||||||
VitroRequest vreq) {
|
|
||||||
if( doAutoComplete )
|
|
||||||
editConfiguration.setTemplate(acObjectPropertyTemplate);
|
|
||||||
else
|
|
||||||
editConfiguration.setTemplate(objectPropertyTemplate);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//Initialize setup: process parameters
|
|
||||||
private void initProcessParameters(VitroRequest vreq, HttpSession session, EditConfigurationVTwo editConfiguration) {
|
|
||||||
String formUrl = EditConfigurationUtils.getFormUrlWithoutContext(vreq);
|
|
||||||
|
|
||||||
subjectUri = EditConfigurationUtils.getSubjectUri(vreq);
|
|
||||||
predicateUri = EditConfigurationUtils.getPredicateUri(vreq);
|
|
||||||
|
|
||||||
editConfiguration.setFormUrl(formUrl);
|
|
||||||
|
|
||||||
editConfiguration.setUrlPatternToReturnTo("/individual");
|
|
||||||
|
|
||||||
editConfiguration.setVarNameForSubject("subject");
|
|
||||||
editConfiguration.setSubjectUri(subjectUri);
|
|
||||||
editConfiguration.setEntityToReturnTo(subjectUri);
|
|
||||||
editConfiguration.setVarNameForPredicate("predicate");
|
|
||||||
editConfiguration.setPredicateUri(predicateUri);
|
|
||||||
|
|
||||||
|
|
||||||
//this needs to be set for the editing to be triggered properly, otherwise the 'prepare' method
|
|
||||||
//pretends this is a data property editing statement and throws an error
|
|
||||||
//"object" : [ "objectVar" , "${objectUriJson}" , "URI"],
|
|
||||||
if(EditConfigurationUtils.isObjectProperty(predicateUri, vreq)) {
|
|
||||||
log.debug("This is an predicate property: " + predicateUri);
|
|
||||||
log.debug("This is an subject property: " + subjectUri);
|
|
||||||
|
|
||||||
this.initObjectParameters(vreq);
|
|
||||||
log.debug("This is an object property: " + objectUri);
|
|
||||||
this.processObjectPropForm(vreq, editConfiguration);
|
|
||||||
} else {
|
|
||||||
log.debug("This is a data property: " + predicateUri);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private void initObjectParameters(VitroRequest vreq) {
|
|
||||||
//in case of object property
|
|
||||||
objectUri = EditConfigurationUtils.getObjectUri(vreq);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void processObjectPropForm(VitroRequest vreq, EditConfigurationVTwo editConfiguration) {
|
|
||||||
editConfiguration.setVarNameForObject("objectVar");
|
|
||||||
editConfiguration.setObject(objectUri);
|
|
||||||
//this needs to be set for the editing to be triggered properly, otherwise the 'prepare' method
|
|
||||||
//pretends this is a data property editing statement and throws an error
|
|
||||||
//TODO: Check if null in case no object uri exists but this is still an object property
|
|
||||||
}
|
|
||||||
|
|
||||||
//Get N3 required
|
|
||||||
//Handles both object and data property
|
|
||||||
private List<String> generateN3Required(VitroRequest vreq) {
|
|
||||||
List<String> n3ForEdit = new ArrayList<String>();
|
|
||||||
getTextExcerpts(vreq);
|
|
||||||
if (excerptIDs.isEmpty()) {
|
|
||||||
String editString = "?subject ?predicate ?objectVar .";
|
|
||||||
n3ForEdit.add(editString);
|
|
||||||
} else {
|
|
||||||
for (String excerptID : excerptIDs) {
|
|
||||||
String editString = "<"+excerptID+">" + " ?predicate ?objectVar .";
|
|
||||||
log.debug(editString);
|
|
||||||
n3ForEdit.add(editString);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return n3ForEdit;
|
|
||||||
}
|
|
||||||
|
|
||||||
private List<String> generateN3Optional() {
|
|
||||||
List<String> n3Inverse = new ArrayList<String>();
|
|
||||||
n3Inverse.add("?objectVar ?inverseProp ?subject .");
|
|
||||||
return n3Inverse;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void getTextExcerpts(VitroRequest vreq) {
|
|
||||||
ResultSet excerptResults = QueryUtils.getLanguageNeutralQueryResults(getExcerptsQueryString(), vreq);
|
|
||||||
while (excerptResults.hasNext()) {
|
|
||||||
QuerySolution solution = excerptResults.nextSolution();
|
|
||||||
String excerptID = solution.get("excerptID").asResource().toString();
|
|
||||||
log.debug(excerptID);
|
|
||||||
excerptIDs.add(excerptID);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private String getExcerptsQueryString() {
|
|
||||||
return "PREFIX ts_: <https://litvinovg.pro/text_structures#> "
|
|
||||||
+"SELECT DISTINCT ?excerptID "
|
|
||||||
+"WHERE { "
|
|
||||||
+"<" + subjectUri + "> ts_:hasTOC ?toc . "
|
|
||||||
+"?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?excerptID . "
|
|
||||||
+"} ";
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//Set queries
|
|
||||||
private String retrieveQueryForInverse () {
|
|
||||||
String queryForInverse = "PREFIX owl: <http://www.w3.org/2002/07/owl#>"
|
|
||||||
+ " SELECT ?inverse_property "
|
|
||||||
+ " WHERE { ?inverse_property owl:inverseOf ?predicate } ";
|
|
||||||
return queryForInverse;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void setUrisAndLiteralsInScope(EditConfigurationVTwo editConfiguration) {
|
|
||||||
HashMap<String, List<String>> urisInScope = new HashMap<String, List<String>>();
|
|
||||||
//note that at this point the subject, predicate, and object var parameters have already been processed
|
|
||||||
urisInScope.put(editConfiguration.getVarNameForSubject(),
|
|
||||||
Arrays.asList(new String[]{editConfiguration.getSubjectUri()}));
|
|
||||||
urisInScope.put(editConfiguration.getVarNameForPredicate(),
|
|
||||||
Arrays.asList(new String[]{editConfiguration.getPredicateUri()}));
|
|
||||||
//this shoudl happen in edit configuration prepare for object prop update
|
|
||||||
//urisInScope.put(editConfiguration.getVarNameForObject(),
|
|
||||||
// Arrays.asList(new String[]{editConfiguration.getObject()}));
|
|
||||||
//inverse property uris should be included in sparql for additional uris in edit configuration
|
|
||||||
editConfiguration.setUrisInScope(urisInScope);
|
|
||||||
//Uris in scope include subject, predicate, and object var
|
|
||||||
|
|
||||||
editConfiguration.setLiteralsInScope(new HashMap<String, List<Literal>>());
|
|
||||||
}
|
|
||||||
|
|
||||||
//n3 should look as follows
|
|
||||||
//?subject ?predicate ?objectVar
|
|
||||||
|
|
||||||
private void setUrisAndLiteralsOnForm(EditConfigurationVTwo editConfiguration, VitroRequest vreq) {
|
|
||||||
List<String> urisOnForm = new ArrayList<String>();
|
|
||||||
List<String> literalsOnForm = new ArrayList<String>();
|
|
||||||
|
|
||||||
//uris on form should be empty if data property
|
|
||||||
urisOnForm.add("objectVar");
|
|
||||||
|
|
||||||
editConfiguration.setUrisOnform(urisOnForm);
|
|
||||||
editConfiguration.setLiteralsOnForm(literalsOnForm);
|
|
||||||
}
|
|
||||||
|
|
||||||
//This is for various items
|
|
||||||
private void setSparqlQueries(EditConfigurationVTwo editConfiguration) {
|
|
||||||
//Sparql queries defining retrieval of literals etc.
|
|
||||||
editConfiguration.setSparqlForAdditionalLiteralsInScope(new HashMap<String, String>());
|
|
||||||
|
|
||||||
Map<String, String> urisInScope = new HashMap<String, String>();
|
|
||||||
urisInScope.put("inverseProp", this.retrieveQueryForInverse());
|
|
||||||
editConfiguration.setSparqlForAdditionalUrisInScope(urisInScope);
|
|
||||||
|
|
||||||
editConfiguration.setSparqlForExistingLiterals(generateSparqlForExistingLiterals());
|
|
||||||
editConfiguration.setSparqlForExistingUris(generateSparqlForExistingUris());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//Get page uri for object
|
|
||||||
private HashMap<String, String> generateSparqlForExistingUris() {
|
|
||||||
HashMap<String, String> map = new HashMap<String, String>();
|
|
||||||
return map;
|
|
||||||
}
|
|
||||||
|
|
||||||
private HashMap<String, String> generateSparqlForExistingLiterals() {
|
|
||||||
HashMap<String, String> map = new HashMap<String, String>();
|
|
||||||
return map;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void setFields(EditConfigurationVTwo editConfiguration, VitroRequest vreq, String predicateUri) throws Exception {
|
|
||||||
setFields(editConfiguration, vreq, predicateUri, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void setFields(EditConfigurationVTwo editConfiguration, VitroRequest vreq, String predicateUri, List<VClass> rangeTypes) throws Exception {
|
|
||||||
FieldVTwo field = new FieldVTwo();
|
|
||||||
field.setName("objectVar");
|
|
||||||
|
|
||||||
List<String> validators = new ArrayList<String>();
|
|
||||||
validators.add("nonempty");
|
|
||||||
field.setValidators(validators);
|
|
||||||
|
|
||||||
if( ! doAutoComplete ){
|
|
||||||
field.setOptions( new IndividualsViaObjectPropetyOptions(
|
|
||||||
subjectUri,
|
|
||||||
predicateUri,
|
|
||||||
rangeTypes,
|
|
||||||
objectUri,
|
|
||||||
vreq ));
|
|
||||||
}else{
|
|
||||||
field.setOptions(null);
|
|
||||||
}
|
|
||||||
|
|
||||||
Map<String, FieldVTwo> fields = new HashMap<String, FieldVTwo>();
|
|
||||||
fields.put(field.getName(), field);
|
|
||||||
|
|
||||||
editConfiguration.setFields(fields);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void prepareForUpdate(VitroRequest vreq, HttpSession session, EditConfigurationVTwo editConfiguration) {
|
|
||||||
//Here, retrieve model from
|
|
||||||
OntModel model = ModelAccess.on(session.getServletContext()).getOntModel();
|
|
||||||
//if object property
|
|
||||||
if(EditConfigurationUtils.isObjectProperty(EditConfigurationUtils.getPredicateUri(vreq), vreq)){
|
|
||||||
Individual objectIndividual = EditConfigurationUtils.getObjectIndividual(vreq);
|
|
||||||
if(objectIndividual != null) {
|
|
||||||
//update existing object
|
|
||||||
editConfiguration.prepareForObjPropUpdate(model);
|
|
||||||
} else {
|
|
||||||
//new object to be created
|
|
||||||
editConfiguration.prepareForNonUpdate( model );
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
throw new Error("DefaultObjectPropertyForm does not handle data properties.");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean isSelectFromExisting(VitroRequest vreq) {
|
|
||||||
String predicateUri = EditConfigurationUtils.getPredicateUri(vreq);
|
|
||||||
if(EditConfigurationUtils.isDataProperty(predicateUri, vreq)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
ObjectProperty objProp = EditConfigurationUtils.getObjectPropertyForPredicate(vreq, EditConfigurationUtils.getPredicateUri(vreq));
|
|
||||||
return objProp.getSelectFromExisting();
|
|
||||||
}
|
|
||||||
|
|
||||||
//Additional processing, eg. select from existing
|
|
||||||
//This is really process prohibited from search
|
|
||||||
private void processProhibitedFromSearch(VitroRequest vreq, HttpSession session, EditConfigurationVTwo editConfig) {
|
|
||||||
if(isSelectFromExisting(vreq)) {
|
|
||||||
// set ProhibitedFromSearch object so picklist doesn't show
|
|
||||||
// individuals from classes that should be hidden from list views
|
|
||||||
OntModel displayOntModel = ModelAccess.on(session.getServletContext()).getOntModel(DISPLAY);
|
|
||||||
ProhibitedFromSearch pfs = new ProhibitedFromSearch(
|
|
||||||
DisplayVocabulary.SEARCH_INDEX_URI, displayOntModel);
|
|
||||||
if( editConfig != null )
|
|
||||||
editConfig.setProhibitedFromSearch(pfs);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//Form specific data
|
|
||||||
public void addFormSpecificData(EditConfigurationVTwo editConfiguration, VitroRequest vreq) {
|
|
||||||
HashMap<String, Object> formSpecificData = new HashMap<String, Object>();
|
|
||||||
//range options need to be stored for object property
|
|
||||||
//Store field names
|
|
||||||
List<String> objectSelect = new ArrayList<String>();
|
|
||||||
objectSelect.add(editConfiguration.getVarNameForObject());
|
|
||||||
//TODO: Check if this is the proper way to do this?
|
|
||||||
formSpecificData.put("objectSelect", objectSelect);
|
|
||||||
if(customErrorMessages != null && !customErrorMessages.isEmpty()) {
|
|
||||||
formSpecificData.put("customErrorMessages", customErrorMessages);
|
|
||||||
}
|
|
||||||
editConfiguration.setFormSpecificData(formSpecificData);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void addFormSpecificDataForAC(EditConfigurationVTwo editConfiguration, VitroRequest vreq, HttpSession session) throws SearchEngineException {
|
|
||||||
HashMap<String, Object> formSpecificData = new HashMap<String, Object>();
|
|
||||||
//Get the edit mode
|
|
||||||
formSpecificData.put("editMode", getEditMode(vreq).toString().toLowerCase());
|
|
||||||
|
|
||||||
//We also need the type of the object itself
|
|
||||||
List<VClass> types = getRangeTypes(vreq);
|
|
||||||
//if types array contains only owl:Thing, the search will not return any results
|
|
||||||
//In this case, set an empty array
|
|
||||||
if(types.size() == 1 && types.get(0).getURI().equals(VitroVocabulary.OWL_THING) ){
|
|
||||||
types = new ArrayList<VClass>();
|
|
||||||
}
|
|
||||||
|
|
||||||
StringBuilder typesBuff = new StringBuilder();
|
|
||||||
for (VClass type : types) {
|
|
||||||
if (type.getURI() != null) {
|
|
||||||
typesBuff.append(type.getURI()).append(",");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
formSpecificData.put("objectTypes", typesBuff.toString());
|
|
||||||
log.debug("autocomplete object types : " + formSpecificData.get("objectTypes"));
|
|
||||||
|
|
||||||
//Get label for individual if it exists
|
|
||||||
if(EditConfigurationUtils.getObjectIndividual(vreq) != null) {
|
|
||||||
String objectLabel = EditConfigurationUtils.getObjectIndividual(vreq).getName();
|
|
||||||
formSpecificData.put("objectLabel", objectLabel);
|
|
||||||
}
|
|
||||||
|
|
||||||
//TODO: find out if there are any individuals in the classes of objectTypes
|
|
||||||
formSpecificData.put("rangeIndividualsExist", rangeIndividualsExist(types) );
|
|
||||||
|
|
||||||
formSpecificData.put("sparqlForAcFilter", getSparqlForAcFilter(vreq));
|
|
||||||
if(customErrorMessages != null && !customErrorMessages.isEmpty()) {
|
|
||||||
formSpecificData.put("customErrorMessages", customErrorMessages);
|
|
||||||
}
|
|
||||||
editConfiguration.setTemplate(acObjectPropertyTemplate);
|
|
||||||
editConfiguration.setFormSpecificData(formSpecificData);
|
|
||||||
}
|
|
||||||
|
|
||||||
private Object rangeIndividualsExist(List<VClass> types) throws SearchEngineException {
|
|
||||||
SearchEngine searchEngine = ApplicationUtils.instance().getSearchEngine();
|
|
||||||
|
|
||||||
boolean rangeIndividualsFound = false;
|
|
||||||
for( VClass type:types){
|
|
||||||
//search for type count.
|
|
||||||
SearchQuery query = searchEngine.createQuery();
|
|
||||||
query.setQuery( VitroSearchTermNames.RDFTYPE + ":" + type.getURI());
|
|
||||||
query.setRows(0);
|
|
||||||
|
|
||||||
SearchResponse rsp = searchEngine.query(query);
|
|
||||||
SearchResultDocumentList docs = rsp.getResults();
|
|
||||||
if( docs.getNumFound() > 0 ){
|
|
||||||
rangeIndividualsFound = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return rangeIndividualsFound;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getSubjectUri() {
|
|
||||||
return subjectUri;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getPredicateUri() {
|
|
||||||
return predicateUri;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getObjectUri() {
|
|
||||||
return objectUri;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/** get the auto complete edit mode */
|
|
||||||
public EditMode getEditMode(VitroRequest vreq) {
|
|
||||||
//In this case, the original jsp didn't rely on FrontEndEditingUtils
|
|
||||||
//but instead relied on whether or not the object Uri existed
|
|
||||||
String objectUri = EditConfigurationUtils.getObjectUri(vreq);
|
|
||||||
EditMode editMode = FrontEndEditingUtils.EditMode.ADD;
|
|
||||||
if(objectUri != null && !objectUri.isEmpty()) {
|
|
||||||
editMode = FrontEndEditingUtils.EditMode.EDIT;
|
|
||||||
|
|
||||||
}
|
|
||||||
return editMode;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getSparqlForAcFilter(VitroRequest vreq) {
|
|
||||||
String subject = EditConfigurationUtils.getSubjectUri(vreq);
|
|
||||||
String predicate = EditConfigurationUtils.getPredicateUri(vreq);
|
|
||||||
//Get all objects for existing predicate, filters out results from addition and edit
|
|
||||||
String query = "SELECT ?objectVar WHERE { " +
|
|
||||||
"<" + subject + "> <" + predicate + "> ?objectVar .} ";
|
|
||||||
return query;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,306 +0,0 @@
|
||||||
/* $This file is distributed under the terms of the license in LICENSE$ */
|
|
||||||
|
|
||||||
package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators;
|
|
||||||
|
|
||||||
import java.text.SimpleDateFormat;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Calendar;
|
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
|
||||||
import java.util.TimeZone;
|
|
||||||
|
|
||||||
import javax.servlet.http.HttpSession;
|
|
||||||
|
|
||||||
import org.apache.jena.rdf.model.Literal;
|
|
||||||
import org.apache.jena.vocabulary.RDFS;
|
|
||||||
import org.apache.jena.vocabulary.XSD;
|
|
||||||
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.auth.identifier.IdentifierBundle;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.auth.identifier.RequestIdentifiers;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.auth.identifier.common.HasAssociatedIndividual;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.beans.VClass;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.controller.admin.ShowAuthController.AssociatedIndividual;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo;
|
|
||||||
import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Generates the edit configuration for a default property form.
|
|
||||||
* ModelChangePreprocessor creates the rdfs:label statement.
|
|
||||||
*/
|
|
||||||
public class CompilationGenerator extends BaseEditConfigurationGenerator implements EditConfigurationGenerator {
|
|
||||||
|
|
||||||
private String associatedProfile;
|
|
||||||
private int excerptsCounter;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, HttpSession session) {
|
|
||||||
|
|
||||||
EditConfigurationVTwo config = new EditConfigurationVTwo();
|
|
||||||
|
|
||||||
associatedProfile = getAssociatedProfile(vreq);
|
|
||||||
excerptsCounter = parseCounter(vreq);
|
|
||||||
|
|
||||||
config.setTemplate( "compilationForm.ftl" );
|
|
||||||
|
|
||||||
config.setN3Required( generateN3Required(vreq));
|
|
||||||
|
|
||||||
//Optional because user may have selected either person or individual of another kind
|
|
||||||
//Person uses first name and last name whereas individual of other class would use label
|
|
||||||
//middle name is also optional
|
|
||||||
//config.setN3Optional(generateN3Optional());
|
|
||||||
|
|
||||||
config.addNewResource("newCompilation", vreq.getWebappDaoFactory().getDefaultNamespace());
|
|
||||||
config.addNewResource("newCompilationTOC", vreq.getWebappDaoFactory().getDefaultNamespace());
|
|
||||||
config.addField(new FieldVTwo().
|
|
||||||
setName("rawQueryString").
|
|
||||||
setRangeDatatypeUri(XSD.xstring.getURI()).
|
|
||||||
setValidators(getCompilationNameValidators(vreq)));
|
|
||||||
config.addField(new FieldVTwo().
|
|
||||||
setName("queryBuilderRules").
|
|
||||||
setRangeDatatypeUri(XSD.xstring.getURI()).
|
|
||||||
setValidators(getCompilationNameValidators(vreq)));
|
|
||||||
|
|
||||||
for (int itemN = 1; itemN <= excerptsCounter; itemN++) {
|
|
||||||
String tocItem = "tocItem" + itemN;
|
|
||||||
config.addNewResource(tocItem, vreq.getWebappDaoFactory().getDefaultNamespace());
|
|
||||||
String tocLevel = "tocLevel" + itemN;
|
|
||||||
config.addNewResource(tocLevel, vreq.getWebappDaoFactory().getDefaultNamespace());
|
|
||||||
|
|
||||||
String tocItemName = tocItem + "Name";
|
|
||||||
config.addField(new FieldVTwo().
|
|
||||||
setName(tocItemName).
|
|
||||||
setRangeDatatypeUri(XSD.xstring.getURI()).
|
|
||||||
setValidators(getCompilationNameValidators(vreq)));
|
|
||||||
|
|
||||||
String tocLevelName = tocLevel + "Name";
|
|
||||||
config.addField(new FieldVTwo().
|
|
||||||
setName(tocLevelName).
|
|
||||||
setRangeDatatypeUri(XSD.xstring.getURI()).
|
|
||||||
setValidators(getCompilationNameValidators(vreq)));
|
|
||||||
|
|
||||||
String excerpt = "excerpt" + itemN;
|
|
||||||
config.addField(new FieldVTwo().
|
|
||||||
setName(excerpt).
|
|
||||||
setRangeDatatypeUri(XSD.xstring.getURI()).
|
|
||||||
setValidators(getCompilationNameValidators(vreq)));
|
|
||||||
|
|
||||||
}
|
|
||||||
config.setUrisOnform(getUrisOnForm());
|
|
||||||
config.setLiteralsOnForm( getLiteralsOnForm());
|
|
||||||
setUrisAndLiteralsInScope(config);
|
|
||||||
//No SPARQL queries for existing since this is only used to create new, never for edit
|
|
||||||
|
|
||||||
config.addField(new FieldVTwo().
|
|
||||||
setName("newCompilationLabel").
|
|
||||||
setRangeDatatypeUri(XSD.xstring.getURI()).
|
|
||||||
setValidators(getCompilationNameValidators(vreq)));
|
|
||||||
|
|
||||||
|
|
||||||
addFormSpecificData(config, vreq);
|
|
||||||
|
|
||||||
config.addValidator(new AntiXssValidation());
|
|
||||||
|
|
||||||
//This combines the first and last name into the rdfs:label
|
|
||||||
// currently being done via javascript in the template. May use this again
|
|
||||||
// when/if updated to ISF ontology. tlw72
|
|
||||||
// config.addModelChangePreprocessor(new FoafNameToRdfsLabelPreprocessor());
|
|
||||||
|
|
||||||
String formUrl = EditConfigurationUtils.getFormUrlWithoutContext(vreq);
|
|
||||||
config.setFormUrl(formUrl);
|
|
||||||
|
|
||||||
//Note, the spaces are important - they were added by ProcessRdfFormController earlier
|
|
||||||
//as a means of ensuring the substitution worked correctly - as the regex expects spaces
|
|
||||||
config.setEntityToReturnTo(" ?newCompilation ");
|
|
||||||
prepare(vreq, config);
|
|
||||||
return config;
|
|
||||||
}
|
|
||||||
|
|
||||||
private List<String> getUrisOnForm() {
|
|
||||||
List<String> uris = list();
|
|
||||||
for (int itemN = 1; itemN <= excerptsCounter; itemN++) {
|
|
||||||
String excerpt = "excerpt" + itemN;
|
|
||||||
uris.add(excerpt);
|
|
||||||
}
|
|
||||||
return uris;
|
|
||||||
}
|
|
||||||
|
|
||||||
private List<String> getLiteralsOnForm() {
|
|
||||||
List<String> literals = list( "newCompilationLabel");
|
|
||||||
for (int itemN = 1; itemN <= excerptsCounter; itemN++) {
|
|
||||||
String tocItemName = "tocItem" + itemN + "Name";
|
|
||||||
String tocLevelName = "tocLevel" + itemN + "Name";
|
|
||||||
literals.add(tocItemName);
|
|
||||||
literals.add(tocLevelName);
|
|
||||||
literals.add("rawQueryString");
|
|
||||||
literals.add("queryBuilderRules");
|
|
||||||
}
|
|
||||||
return literals;
|
|
||||||
}
|
|
||||||
|
|
||||||
private String getAssociatedProfile(VitroRequest vreq) {
|
|
||||||
String associatedProfile;
|
|
||||||
IdentifierBundle ids = RequestIdentifiers.getIdBundleForRequest(vreq);
|
|
||||||
Collection<String> individualURIs = HasAssociatedIndividual.getIndividualUris(ids);
|
|
||||||
Iterator<String> uriIterator = individualURIs.iterator();
|
|
||||||
if (uriIterator.hasNext()) {
|
|
||||||
associatedProfile = uriIterator.next();
|
|
||||||
} else {
|
|
||||||
associatedProfile = "";
|
|
||||||
}
|
|
||||||
return associatedProfile;
|
|
||||||
}
|
|
||||||
|
|
||||||
private List<String> generateN3Required(VitroRequest vreq) {
|
|
||||||
StringBuilder n3Req = new StringBuilder();
|
|
||||||
n3Req.append("@prefix ts: <https://litvinovg.pro/text_structures#> .\n");
|
|
||||||
n3Req.append("?newCompilation <" + VitroVocabulary.RDF_TYPE + "> <" + getTypeOfNew(vreq) + "> .\n");
|
|
||||||
n3Req.append("?newCompilation <https://litvinovg.pro/text_structures#modificationTime> " + getModificationTime() + " .\n");
|
|
||||||
n3Req.append("?newCompilation ts:rawQueryString ?rawQueryString .\n");
|
|
||||||
n3Req.append("?newCompilation ts:queryBuilderRules ?queryBuilderRules .\n");
|
|
||||||
n3Req.append("?newCompilation <" + RDFS.label.getURI() + "> ?newCompilationLabel .\n");
|
|
||||||
n3Req.append("?newCompilation ts:hasTOC ?newCompilationTOC .\n");
|
|
||||||
n3Req.append("?newCompilationTOC <" + VitroVocabulary.RDF_TYPE + "> ts:TOC .\n");
|
|
||||||
n3Req.append("?newCompilationTOC <" + RDFS.label.getURI() + "> ?newCompilationLabel .\n");
|
|
||||||
|
|
||||||
if (!associatedProfile.isEmpty()) {
|
|
||||||
n3Req.append("<" + associatedProfile + "> ts:compilatorOf ?newCompilation .\n");
|
|
||||||
|
|
||||||
}
|
|
||||||
//n3Req.append();
|
|
||||||
|
|
||||||
for (int itemN = 1; itemN <= excerptsCounter; itemN++) {
|
|
||||||
String tocItemVar = "?tocItem" + itemN ;
|
|
||||||
String tocItemNameVar = tocItemVar + "Name" ;
|
|
||||||
String tocLevelVar = "?tocLevel" + itemN ;
|
|
||||||
String tocLevelVarName = tocLevelVar + "Name" ;
|
|
||||||
String excerptVar = "?excerpt" + itemN ;
|
|
||||||
n3Req.append("?newCompilationTOC ts:hasTOCItem " + tocItemVar + " .\n");
|
|
||||||
n3Req.append(tocItemVar + " <" + VitroVocabulary.RDF_TYPE + "> ts:TOCItem .\n");
|
|
||||||
n3Req.append(tocItemVar + " <" + RDFS.label.getURI() + "> " + tocItemNameVar + " .\n");
|
|
||||||
n3Req.append(tocItemVar + " ts:itemNumber " + itemN + " .\n");
|
|
||||||
n3Req.append(tocItemVar + " ts:pointsTo " + tocLevelVar + " .\n");
|
|
||||||
n3Req.append(tocLevelVar + " <" + VitroVocabulary.RDF_TYPE + "> ts:TOCLevel .\n");
|
|
||||||
n3Req.append(tocLevelVar + " <" + RDFS.label.getURI() + "> " + tocLevelVarName + " .\n");
|
|
||||||
n3Req.append(tocLevelVar + " ts:hasText " + excerptVar + ".\n");
|
|
||||||
}
|
|
||||||
return list(n3Req.toString());
|
|
||||||
}
|
|
||||||
|
|
||||||
private List<String> generateN3Optional() {
|
|
||||||
List<String> n3OptList = list();
|
|
||||||
StringBuilder n3Opt = new StringBuilder();
|
|
||||||
n3Opt.append("@prefix ts: <https://litvinovg.pro/text_structures#> .\n");
|
|
||||||
n3Opt.append("?newCompilation ts:rawQueryString ?rawQueryString .\n");
|
|
||||||
n3Opt.append("?newCompilation ts:queryBuilderRules ?queryBuilderRules .\n");
|
|
||||||
n3OptList.add(n3Opt.toString());
|
|
||||||
return n3OptList;
|
|
||||||
}
|
|
||||||
|
|
||||||
private String getModificationTime() {
|
|
||||||
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
|
|
||||||
sd.setTimeZone(TimeZone.getTimeZone("GMT"));
|
|
||||||
Date currentTime = Calendar.getInstance().getTime();
|
|
||||||
String todayAsString = "\"" + sd.format(currentTime) + "\"^^<http://www.w3.org/2001/XMLSchema#dateTime>";
|
|
||||||
return todayAsString;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static Integer parseCounter(VitroRequest vreq) {
|
|
||||||
String text = vreq.getParameter("excerptsCount");
|
|
||||||
if (text == null ) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
return Integer.parseInt(text);
|
|
||||||
} catch (NumberFormatException e) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private List<String> getCompilationNameValidators(VitroRequest vreq) {
|
|
||||||
List<String> validators = new ArrayList<String>();
|
|
||||||
if (isCompilationType(vreq)) {
|
|
||||||
validators.add("nonempty");
|
|
||||||
}
|
|
||||||
return validators;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Get parameter from HTTP request for type of new individual
|
|
||||||
private String getTypeOfNew(VitroRequest vreq) {
|
|
||||||
String typeUri = vreq.getParameter("typeOfNew");
|
|
||||||
if( typeUri == null || typeUri.trim().isEmpty() )
|
|
||||||
return getCompilationClassURI();
|
|
||||||
else
|
|
||||||
return typeUri;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Form specific data
|
|
||||||
public void addFormSpecificData(EditConfigurationVTwo editConfiguration, VitroRequest vreq) {
|
|
||||||
HashMap<String, Object> formSpecificData = new HashMap<String, Object>();
|
|
||||||
formSpecificData.put("typeName", getTypeName(vreq));
|
|
||||||
//Put in whether or not person type
|
|
||||||
if(isCompilationType(vreq)) {
|
|
||||||
//Doing this b/c unsure how freemarker will handle boolean value from JAVA
|
|
||||||
formSpecificData.put("isCompilationType", "true");
|
|
||||||
} else {
|
|
||||||
formSpecificData.put("isCompilationType", "false");
|
|
||||||
|
|
||||||
}
|
|
||||||
formSpecificData.put("excerptsCounter", excerptsCounter);
|
|
||||||
|
|
||||||
editConfiguration.setFormSpecificData(formSpecificData);
|
|
||||||
}
|
|
||||||
|
|
||||||
private String getTypeName(VitroRequest vreq) {
|
|
||||||
String typeOfNew = getTypeOfNew(vreq);
|
|
||||||
VClass type = vreq.getWebappDaoFactory().getVClassDao().getVClassByURI(typeOfNew);
|
|
||||||
return type.getName();
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getCompilationClassURI() {
|
|
||||||
return "https://litvinovg.pro/text_structures#compilation";
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isCompilationType(VitroRequest vreq) {
|
|
||||||
WebappDaoFactory wdf = vreq.getWebappDaoFactory();
|
|
||||||
Boolean isCompilationType = Boolean.FALSE;
|
|
||||||
String foafPersonType = getCompilationClassURI();
|
|
||||||
String typeOfNew = getTypeOfNew(vreq);
|
|
||||||
List<String> superTypes = wdf.getVClassDao().getAllSuperClassURIs(typeOfNew);
|
|
||||||
//add the actual type as well so we can add that for the list to be checked
|
|
||||||
superTypes.add(typeOfNew);
|
|
||||||
if( superTypes != null ){
|
|
||||||
for( String typeUri : superTypes){
|
|
||||||
if( foafPersonType.equals(typeUri)) {
|
|
||||||
isCompilationType = Boolean.TRUE;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return isCompilationType;
|
|
||||||
}
|
|
||||||
private void setUrisAndLiteralsInScope(EditConfigurationVTwo editConfiguration) {
|
|
||||||
HashMap<String, List<String>> urisInScope = new HashMap<String, List<String>>();
|
|
||||||
//note that at this point the subject, predicate, and object var parameters have already been processed
|
|
||||||
urisInScope.put(editConfiguration.getVarNameForSubject(),
|
|
||||||
Arrays.asList(new String[]{editConfiguration.getSubjectUri()}));
|
|
||||||
urisInScope.put(editConfiguration.getVarNameForPredicate(),
|
|
||||||
Arrays.asList(new String[]{editConfiguration.getPredicateUri()}));
|
|
||||||
editConfiguration.setUrisInScope(urisInScope);
|
|
||||||
//Uris in scope include subject, predicate, and object var
|
|
||||||
|
|
||||||
editConfiguration.setLiteralsInScope(new HashMap<String, List<Literal>>());
|
|
||||||
}
|
|
||||||
|
|
||||||
private String N3_PREFIX = "@prefix foaf: <http://xmlns.com/foaf/0.1/> .\n";
|
|
||||||
}
|
|
|
@ -1,77 +1,24 @@
|
||||||
@prefix : <http://vitro.mannlib.cornell.edu/ns/vitro/ApplicationSetup#> .
|
@prefix : <http://vitro.mannlib.cornell.edu/ns/vitro/ApplicationSetup#> .
|
||||||
@prefix searchIndex: <java:edu.cornell.mannlib.vitro.webapp.searchindex#> .
|
|
||||||
|
|
||||||
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
||||||
|
|
||||||
:vivodocumentModifier_excerptsInComplexPublications
|
:vivodocumentModifier_excerptsInArticles
|
||||||
a <java:edu.cornell.mannlib.vitro.webapp.searchindex.documentBuilding.SelectQueryDocumentModifier> ,
|
a <java:edu.cornell.mannlib.vitro.webapp.searchindex.documentBuilding.SelectQueryDocumentModifier> ,
|
||||||
<java:edu.cornell.mannlib.vitro.webapp.searchindex.documentBuilding.DocumentModifier> ;
|
<java:edu.cornell.mannlib.vitro.webapp.searchindex.documentBuilding.DocumentModifier> ;
|
||||||
rdfs:label "Populate complex publications with excerpts" ;
|
rdfs:label "Elenph article excerpts" ;
|
||||||
:hasTargetField "ALLTEXT" ;
|
:hasTargetField "ALLTEXT" ;
|
||||||
:hasSelectQuery """
|
:hasSelectQuery """
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
PREFIX ts: <https://litvinovg.pro/text_structures#>
|
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
||||||
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
||||||
SELECT DISTINCT ?value
|
SELECT DISTINCT ?elenphExcerpt ?property ?value
|
||||||
WHERE {
|
WHERE {
|
||||||
?uri ts:hasTOC ?toc .
|
?uri rdf:type ts_:elenphArticle .
|
||||||
?toc (ts:hasTOCItem/ts:pointsTo)+/ts:hasText ?excerpt .
|
?uri ts_:hasTOC ?toc .
|
||||||
VALUES ?property { ts:works ts:bibliography ts:htmlExcerpt ts:keywords }
|
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?elenphExcerpt .
|
||||||
?excerpt ?property ?value .
|
?elenphExcerpt ?property ?value .
|
||||||
}
|
}
|
||||||
""" .
|
""" .
|
||||||
|
|
||||||
:vivoUriFinder_excerptsInComplexPublications
|
|
||||||
a searchIndex:indexing.IndexingUriFinder ,
|
|
||||||
searchIndex:indexing.SelectQueryUriFinder ;
|
|
||||||
rdfs:label "When excerpts change" ;
|
|
||||||
:hasSelectQuery """
|
|
||||||
PREFIX ts: <https://litvinovg.pro/text_structures#>
|
|
||||||
SELECT ?uri
|
|
||||||
WHERE {
|
|
||||||
?uri ts:hasTOC ?toc .
|
|
||||||
?toc (ts:hasTOCItem/ts:pointsTo)+/ts:hasText ?subject .
|
|
||||||
}
|
|
||||||
""" .
|
|
||||||
|
|
||||||
:vivoUriFinder_onRubricsAssign
|
|
||||||
a searchIndex:indexing.IndexingUriFinder ,
|
|
||||||
searchIndex:indexing.SelectQueryUriFinder ;
|
|
||||||
rdfs:label "When rubric was assigned" ;
|
|
||||||
:hasSelectQuery """
|
|
||||||
PREFIX ts: <https://litvinovg.pro/text_structures#>
|
|
||||||
SELECT ?uri
|
|
||||||
WHERE {
|
|
||||||
?subject a ts:textExcerpt .
|
|
||||||
VALUES ?uri { ?subject }
|
|
||||||
}
|
|
||||||
""" .
|
|
||||||
|
|
||||||
:vivodocumentModifier_PopulateTextWithHTMLContentsOfExcerpts
|
|
||||||
a <java:edu.cornell.mannlib.vitro.webapp.searchindex.documentBuilding.SelectQueryDocumentModifier> ,
|
|
||||||
<java:edu.cornell.mannlib.vitro.webapp.searchindex.documentBuilding.DocumentModifier> ;
|
|
||||||
rdfs:label "Html text to text field" ;
|
|
||||||
:hasTargetField "text" ;
|
|
||||||
:hasSelectQuery """
|
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
|
||||||
PREFIX ts: <https://litvinovg.pro/text_structures#>
|
|
||||||
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
|
||||||
SELECT DISTINCT ?htmlExcerpt
|
|
||||||
WHERE {
|
|
||||||
{
|
|
||||||
?uri rdf:type ts:textExcerpt .
|
|
||||||
?uri ts:htmlExcerpt ?htmlExcerpt .
|
|
||||||
}
|
|
||||||
UNION
|
|
||||||
{
|
|
||||||
?uri rdf:type ts:complexPublication .
|
|
||||||
?uri ts:hasTOC ?toc .
|
|
||||||
?toc (ts:hasTOCItem/ts:pointsTo)+/ts:hasText ?excerpt .
|
|
||||||
?excerpt ts:htmlExcerpt ?htmlExcerpt .
|
|
||||||
}
|
|
||||||
}
|
|
||||||
""" .
|
|
||||||
|
|
||||||
:vivodocumentModifier_rubrics
|
:vivodocumentModifier_rubrics
|
||||||
a <java:edu.cornell.mannlib.vitro.webapp.searchindex.documentBuilding.SelectQueryDocumentModifier> ,
|
a <java:edu.cornell.mannlib.vitro.webapp.searchindex.documentBuilding.SelectQueryDocumentModifier> ,
|
||||||
<java:edu.cornell.mannlib.vitro.webapp.searchindex.documentBuilding.DocumentModifier> ;
|
<java:edu.cornell.mannlib.vitro.webapp.searchindex.documentBuilding.DocumentModifier> ;
|
||||||
|
@ -79,22 +26,22 @@
|
||||||
:hasTargetField "rubrics" ;
|
:hasTargetField "rubrics" ;
|
||||||
:hasSelectQuery """
|
:hasSelectQuery """
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
PREFIX ts: <https://litvinovg.pro/text_structures#>
|
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
||||||
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
||||||
PREFIX pr: <https://iph.ras.ru/relationships#>
|
PREFIX pr: <https://iph.ras.ru/relationships#>
|
||||||
SELECT DISTINCT ?rubric
|
SELECT DISTINCT ?rubric
|
||||||
WHERE {
|
WHERE {
|
||||||
{
|
{
|
||||||
?uri rdf:type ts:textExcerpt .
|
?uri rdf:type ts_:elenphExcerpt .
|
||||||
?uri pr:belongsTo ?assignedRubric .
|
?uri pr:belongsTo ?assignedRubric .
|
||||||
?assignedRubric (pr:hasParent)* ?rubric .
|
?assignedRubric (pr:hasParent)* ?rubric .
|
||||||
}
|
}
|
||||||
UNION
|
UNION
|
||||||
{
|
{
|
||||||
?uri rdf:type ts:complexPublication .
|
?uri rdf:type ts_:elenphArticle .
|
||||||
?uri ts:hasTOC ?toc .
|
?uri ts_:hasTOC ?toc .
|
||||||
?toc (ts:hasTOCItem/ts:pointsTo)+/ts:hasText ?excerpt .
|
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?artExcerpt .
|
||||||
?excerpt pr:belongsTo ?assignedRubric .
|
?artExcerpt pr:belongsTo ?assignedRubric .
|
||||||
?assignedRubric (pr:hasParent)* ?rubric .
|
?assignedRubric (pr:hasParent)* ?rubric .
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -122,20 +69,20 @@
|
||||||
:hasTargetField "keywords" ;
|
:hasTargetField "keywords" ;
|
||||||
:hasSelectQuery """
|
:hasSelectQuery """
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
PREFIX ts: <https://litvinovg.pro/text_structures#>
|
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
||||||
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
||||||
SELECT DISTINCT ?keywords
|
SELECT DISTINCT ?keywords
|
||||||
WHERE {
|
WHERE {
|
||||||
{
|
{
|
||||||
?uri rdf:type ts:elenphArticle .
|
?uri rdf:type ts_:elenphArticle .
|
||||||
?uri ts:hasTOC ?toc .
|
?uri ts_:hasTOC ?toc .
|
||||||
?toc (ts:hasTOCItem/ts:pointsTo)+/ts:hasText ?elenphExcerpt .
|
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?elenphExcerpt .
|
||||||
?elenphExcerpt ts:keywords ?keywords .
|
?elenphExcerpt ts_:keywords ?keywords .
|
||||||
}
|
}
|
||||||
UNION
|
UNION
|
||||||
{
|
{
|
||||||
?uri rdf:type ts:elenphExcerpt .
|
?uri rdf:type ts_:elenphExcerpt .
|
||||||
?uri ts:keywords ?keywords .
|
?uri ts_:keywords ?keywords .
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
""" .
|
""" .
|
||||||
|
@ -147,20 +94,20 @@
|
||||||
:hasTargetField "bibliography" ;
|
:hasTargetField "bibliography" ;
|
||||||
:hasSelectQuery """
|
:hasSelectQuery """
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
PREFIX ts: <https://litvinovg.pro/text_structures#>
|
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
||||||
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
||||||
SELECT DISTINCT ?bibliography
|
SELECT DISTINCT ?bibliography
|
||||||
WHERE {
|
WHERE {
|
||||||
{
|
{
|
||||||
?uri rdf:type ts:elenphArticle .
|
?uri rdf:type ts_:elenphArticle .
|
||||||
?uri ts:hasTOC ?toc .
|
?uri ts_:hasTOC ?toc .
|
||||||
?toc (ts:hasTOCItem/ts:pointsTo)+/ts:hasText ?elenphExcerpt .
|
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?elenphExcerpt .
|
||||||
?elenphExcerpt ts:bibliography ?bibliography .
|
?elenphExcerpt ts_:bibliography ?bibliography .
|
||||||
}
|
}
|
||||||
UNION
|
UNION
|
||||||
{
|
{
|
||||||
?uri rdf:type ts:elenphExcerpt .
|
?uri rdf:type ts_:elenphExcerpt .
|
||||||
?uri ts:bibliography ?bibliography .
|
?uri ts_:bibliography ?bibliography .
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
""" .
|
""" .
|
||||||
|
|
|
@ -1,144 +0,0 @@
|
||||||
@prefix owl: <http://www.w3.org/2002/07/owl#> .
|
|
||||||
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
|
||||||
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
|
||||||
@prefix vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> .
|
|
||||||
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
|
||||||
@prefix ts_: <https://litvinovg.pro/text_structures#> .
|
|
||||||
@prefix display: <http://vitro.mannlib.cornell.edu/ontologies/display/1.1#> .
|
|
||||||
|
|
||||||
|
|
||||||
<https://litvinovg.pro/text_structures#compilation> display:hasDataGetter display:getCompilationExcerptsContentDataGetter .
|
|
||||||
|
|
||||||
<https://litvinovg.pro/text_structures#compilation> display:hasDataGetter display:getCompilationExcerptPathsDataGetter .
|
|
||||||
|
|
||||||
<https://litvinovg.pro/text_structures#compilation> display:hasDataGetter display:getCompilationWorksDataGetter .
|
|
||||||
|
|
||||||
<https://litvinovg.pro/text_structures#compilation> display:hasDataGetter display:getCompilationBibliographyDataGetter .
|
|
||||||
|
|
||||||
<https://litvinovg.pro/text_structures#compilation> display:hasDataGetter display:getCompilationAuthorsDataGetter .
|
|
||||||
|
|
||||||
<https://litvinovg.pro/text_structures#compilation> display:hasDataGetter display:getCompilationRubricsDataGetter .
|
|
||||||
|
|
||||||
display:getCompilationExcerptsContentDataGetter
|
|
||||||
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter>;
|
|
||||||
display:saveToVar "excerpts";
|
|
||||||
display:query
|
|
||||||
"""
|
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
|
||||||
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
|
||||||
SELECT ?elenphExcerpt ?htmlLabel ?htmlContent (COUNT (distinct ?excerptWorks) as ?worksCounter) (COUNT (distinct ?excerptBibliography) as ?bibliographyCounter)
|
|
||||||
WHERE {
|
|
||||||
?individualURI ts_:hasTOC ?toc .
|
|
||||||
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?elenphExcerpt .
|
|
||||||
?elenphExcerpt ts_:htmlExcerpt ?htmlContent .
|
|
||||||
?elenphExcerpt rdfs:label ?htmlLabel .
|
|
||||||
OPTIONAL{ ?elenphExcerpt ts_:works ?excerptWorks . }
|
|
||||||
OPTIONAL{ ?elenphExcerpt ts_:bibliography ?excerptBibliography . }
|
|
||||||
} GROUP BY ?elenphExcerpt ?htmlLabel ?htmlContent ORDER BY ?elenphExcerpt
|
|
||||||
""" .
|
|
||||||
|
|
||||||
display:getCompilationExcerptPathsDataGetter
|
|
||||||
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter>;
|
|
||||||
display:saveToVar "paths";
|
|
||||||
display:query
|
|
||||||
"""
|
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
|
||||||
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
|
||||||
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
|
||||||
SELECT (GROUP_CONCAT(substr(concat("000",str(?outline)),strlen(str(?outline))); SEPARATOR = ".") AS ?path ) (COUNT(?outline) AS ?level) ?tocElement ?elenphExcerpt
|
|
||||||
WHERE {
|
|
||||||
?individualURI ts_:hasTOC ?toc .
|
|
||||||
?toc ts_:hasTOCItem/(ts_:pointsTo/ts_:hasTOCItem)* ?tmpTOCItem .
|
|
||||||
?tmpTOCItem rdf:type ts_:TOCItem .
|
|
||||||
?tmpTOCItem ts_:pointsTo/(ts_:hasTOCItem/ts_:pointsTo)* ?tocElement .
|
|
||||||
?tmpTOCItem ts_:itemNumber ?outline .
|
|
||||||
OPTIONAL {
|
|
||||||
?tocElement ts_:hasText ?elenphExcerpt .
|
|
||||||
}
|
|
||||||
{
|
|
||||||
SELECT ?tocElement
|
|
||||||
WHERE {
|
|
||||||
?individualURI ts_:hasTOC ?toc .
|
|
||||||
?toc (ts_:hasTOCItem/ts_:pointsTo)+ ?tocElement .
|
|
||||||
?tocElement rdf:type ts_:TOCLevel .
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} GROUP BY ?tocElement ?elenphExcerpt ORDER BY ?path
|
|
||||||
""" .
|
|
||||||
|
|
||||||
display:getCompilationBibliographyDataGetter
|
|
||||||
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter>;
|
|
||||||
display:saveToVar "bibliography";
|
|
||||||
display:query
|
|
||||||
"""
|
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
|
||||||
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
|
||||||
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
|
||||||
SELECT DISTINCT ?bibliography ?excerpt
|
|
||||||
WHERE {
|
|
||||||
?individualURI ts_:hasTOC ?toc .
|
|
||||||
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?excerpt .
|
|
||||||
?excerpt ts_:bibliography ?bibliography .
|
|
||||||
} ORDER BY ?bibliography
|
|
||||||
""" .
|
|
||||||
|
|
||||||
display:getCompilationWorksDataGetter
|
|
||||||
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter>;
|
|
||||||
display:saveToVar "works";
|
|
||||||
display:query
|
|
||||||
"""
|
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
|
||||||
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
|
||||||
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
|
||||||
SELECT DISTINCT ?works ?excerpt
|
|
||||||
WHERE {
|
|
||||||
?individualURI ts_:hasTOC ?toc .
|
|
||||||
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?excerpt .
|
|
||||||
?excerpt ts_:works ?works .
|
|
||||||
} ORDER BY ?works
|
|
||||||
""" .
|
|
||||||
|
|
||||||
display:getCompilationAuthorsDataGetter
|
|
||||||
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter>;
|
|
||||||
display:saveToVar "authors";
|
|
||||||
display:query
|
|
||||||
"""
|
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
|
||||||
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
|
||||||
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
|
||||||
SELECT DISTINCT ?authorInitials ?authorFamily ?authorGivenName ?orgName ?orgPostalCode ?orgAddress
|
|
||||||
WHERE {
|
|
||||||
?individualURI ts_:hasTOC ?toc .
|
|
||||||
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?elenphExcerpt .
|
|
||||||
?elenphExcerpt ts_:hasAuthor ?participant .
|
|
||||||
?participant ts_:participantFamily ?authorFamily .
|
|
||||||
?participant ts_:participantInitials ?authorInitials .
|
|
||||||
?participant ts_:participantGivenName ?authorGivenName .
|
|
||||||
OPTIONAL { ?participant ts_:affiliatedWith ?organization .
|
|
||||||
OPTIONAL { ?organization ts_:officialOrganizationName ?orgName } .
|
|
||||||
OPTIONAL { ?organization ts_:organizationPostalCode ?orgPostalCode } .
|
|
||||||
OPTIONAL { ?organization ts_:organizationAddress ?orgAddress } .
|
|
||||||
}
|
|
||||||
|
|
||||||
} ORDER BY ?authorFamily
|
|
||||||
""" .
|
|
||||||
|
|
||||||
display:getCompilationRubricsDataGetter
|
|
||||||
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter>;
|
|
||||||
display:saveToVar "rubrics";
|
|
||||||
display:query
|
|
||||||
"""
|
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
|
||||||
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
|
||||||
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
|
||||||
PREFIX pr: <https://iph.ras.ru/relationships#>
|
|
||||||
SELECT DISTINCT ?rubricID ?rubricName
|
|
||||||
WHERE {
|
|
||||||
?uri ts_:hasTOC ?toc .
|
|
||||||
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?artExcerpt .
|
|
||||||
?artExcerpt pr:belongsTo ?rubricID .
|
|
||||||
?rubricID rdfs:label ?rubricName .
|
|
||||||
} ORDER BY ?rubricID
|
|
||||||
""" .
|
|
||||||
|
|
||||||
|
|
|
@ -35,8 +35,7 @@ display:customSearchFiltersDataGetter
|
||||||
?searchFilter search:id ?id .
|
?searchFilter search:id ?id .
|
||||||
?searchFilter search:filterFiled ?searchField .
|
?searchFilter search:filterFiled ?searchField .
|
||||||
?searchField search:indexField ?field .
|
?searchField search:indexField ?field .
|
||||||
BIND (replace ( ?name, "«", "" ) AS ?sortName)
|
|
||||||
|
|
||||||
} ORDER BY ?field ?sortName
|
} ORDER BY ?field ?name
|
||||||
""" .
|
""" .
|
||||||
|
|
||||||
|
|
|
@ -1,48 +0,0 @@
|
||||||
@prefix display: <http://vitro.mannlib.cornell.edu/ontologies/display/1.1#> .
|
|
||||||
<https://litvinovg.pro/text_structures#compilation> display:hasDeleteQuery """
|
|
||||||
PREFIX ts: <https://litvinovg.pro/text_structures#>
|
|
||||||
DESCRIBE ?individualURI ?tocElement ?tocItem ?toc
|
|
||||||
WHERE {
|
|
||||||
OPTIONAL {
|
|
||||||
?individualURI ts:hasTOC ?toc .
|
|
||||||
?toc (ts:hasTOCItem/ts:pointsTo)* ?tocElement .
|
|
||||||
OPTIONAL {
|
|
||||||
?tocElement ts:hasTOCItem ?tocItem .
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
""" .
|
|
||||||
<https://litvinovg.pro/text_structures#elenphArticle> display:hasDeleteQuery """
|
|
||||||
PREFIX ts: <https://litvinovg.pro/text_structures#>
|
|
||||||
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
|
||||||
DESCRIBE ?individualURI ?tocElement ?tocItem ?toc ?excerpt ?author ?organization
|
|
||||||
WHERE {
|
|
||||||
?individualURI rdf:type ts:elenphArticle .
|
|
||||||
OPTIONAL {
|
|
||||||
?individualURI ts:hasTOC ?toc .
|
|
||||||
?toc (ts:hasTOCItem/ts:pointsTo)* ?tocElement .
|
|
||||||
OPTIONAL {
|
|
||||||
?tocElement ts:hasTOCItem ?tocItem .
|
|
||||||
}
|
|
||||||
OPTIONAL {
|
|
||||||
?tocElement ts:hasText ?excerpt .
|
|
||||||
OPTIONAL {
|
|
||||||
?excerpt ts:hasAuthor ?author .
|
|
||||||
OPTIONAL {
|
|
||||||
?author ts:affiliatedWith ?organization .
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
""" .
|
|
||||||
|
|
||||||
<https://litvinovg.pro/text_structures#elenphExcerpt> display:hasDeleteQuery """
|
|
||||||
PREFIX ts: <https://litvinovg.pro/text_structures#>
|
|
||||||
DESCRIBE ?individualURI ?tocElement
|
|
||||||
WHERE
|
|
||||||
{
|
|
||||||
?tocElement ts:hasText ?individualURI .
|
|
||||||
FILTER NOT EXISTS {?tocElement ts:hasTOCItem ?tocItem }
|
|
||||||
}
|
|
||||||
""" .
|
|
|
@ -26,15 +26,12 @@ display:getArticleExcerptsContentDataGetter
|
||||||
"""
|
"""
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
||||||
SELECT ?elenphExcerpt ?htmlLabel ?htmlContent (COUNT (distinct ?excerptWorks) as ?worksCounter) (COUNT (distinct ?excerptBibliography) as ?bibliographyCounter)
|
SELECT ?elenphExcerpt ?property ?value
|
||||||
WHERE {
|
WHERE {
|
||||||
?individualURI ts_:hasTOC ?toc .
|
?individualURI ts_:hasTOC ?toc .
|
||||||
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?elenphExcerpt .
|
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?elenphExcerpt .
|
||||||
?elenphExcerpt ts_:htmlExcerpt ?htmlContent .
|
?elenphExcerpt ?property ?value .
|
||||||
?elenphExcerpt rdfs:label ?htmlLabel .
|
} ORDER BY ?elenphExcerpt
|
||||||
OPTIONAL{ ?elenphExcerpt ts_:works ?excerptWorks . }
|
|
||||||
OPTIONAL{ ?elenphExcerpt ts_:bibliography ?excerptBibliography . }
|
|
||||||
} GROUP BY ?elenphExcerpt ?htmlLabel ?htmlContent ORDER BY ?elenphExcerpt
|
|
||||||
""" .
|
""" .
|
||||||
|
|
||||||
display:getArticleExcerptPathsDataGetter
|
display:getArticleExcerptPathsDataGetter
|
||||||
|
@ -42,11 +39,11 @@ display:getArticleExcerptPathsDataGetter
|
||||||
display:saveToVar "paths";
|
display:saveToVar "paths";
|
||||||
display:query
|
display:query
|
||||||
"""
|
"""
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
||||||
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
||||||
SELECT (GROUP_CONCAT(substr(concat("000",str(?outline)),strlen(str(?outline))); SEPARATOR = ".") AS ?path ) (COUNT(?outline) AS ?level) ?tocElement ?elenphExcerpt
|
SELECT (GROUP_CONCAT(substr(concat("000",str(?outline)),strlen(str(?outline))); SEPARATOR = ".") AS ?path ) ?tocElement ?elenphExcerpt
|
||||||
WHERE {
|
WHERE {
|
||||||
?individualURI ts_:hasTOC ?toc .
|
?individualURI ts_:hasTOC ?toc .
|
||||||
?toc ts_:hasTOCItem/(ts_:pointsTo/ts_:hasTOCItem)* ?tmpTOCItem .
|
?toc ts_:hasTOCItem/(ts_:pointsTo/ts_:hasTOCItem)* ?tmpTOCItem .
|
||||||
?tmpTOCItem rdf:type ts_:TOCItem .
|
?tmpTOCItem rdf:type ts_:TOCItem .
|
||||||
|
@ -56,11 +53,12 @@ display:getArticleExcerptPathsDataGetter
|
||||||
?tocElement ts_:hasText ?elenphExcerpt .
|
?tocElement ts_:hasText ?elenphExcerpt .
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
SELECT ?elenphArticle ?tocElement
|
SELECT ?elenphArticle ?tocElement
|
||||||
WHERE {
|
WHERE {
|
||||||
?individualURI ts_:hasTOC ?toc .
|
?individualURI ts_:hasTOC ?toc .
|
||||||
?toc (ts_:hasTOCItem/ts_:pointsTo)+ ?tocElement .
|
?toc (ts_:hasTOCItem/ts_:pointsTo)+ ?tocElement .
|
||||||
?tocElement rdf:type ts_:TOCLevel .
|
?tocElement rdf:type ts_:TOCLevel .
|
||||||
|
?individualURI rdf:type ts_:elenphArticle .
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} GROUP BY ?tocElement ?elenphExcerpt ORDER BY ?path
|
} GROUP BY ?tocElement ?elenphExcerpt ORDER BY ?path
|
||||||
|
@ -74,11 +72,11 @@ display:getArticleBibliographyDataGetter
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
||||||
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
||||||
SELECT DISTINCT ?bibliography ?excerpt
|
SELECT DISTINCT ?bibliography
|
||||||
WHERE {
|
WHERE {
|
||||||
?individualURI ts_:hasTOC ?toc .
|
?individualURI ts_:hasTOC ?toc .
|
||||||
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?excerpt .
|
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?elenphExcerpt .
|
||||||
?excerpt ts_:bibliography ?bibliography .
|
?elenphExcerpt ts_:bibliography ?bibliography .
|
||||||
} ORDER BY ?bibliography
|
} ORDER BY ?bibliography
|
||||||
""" .
|
""" .
|
||||||
|
|
||||||
|
@ -90,11 +88,11 @@ display:getArticleWorksDataGetter
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
||||||
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
||||||
SELECT DISTINCT ?works ?excerpt
|
SELECT DISTINCT ?works
|
||||||
WHERE {
|
WHERE {
|
||||||
?individualURI ts_:hasTOC ?toc .
|
?individualURI ts_:hasTOC ?toc .
|
||||||
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?excerpt .
|
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?elenphExcerpt .
|
||||||
?excerpt ts_:works ?works .
|
?elenphExcerpt ts_:works ?works .
|
||||||
} ORDER BY ?works
|
} ORDER BY ?works
|
||||||
""" .
|
""" .
|
||||||
|
|
||||||
|
@ -106,21 +104,12 @@ display:getArticleAuthorsDataGetter
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
||||||
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
||||||
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
||||||
SELECT DISTINCT ?authorInitials ?authorFamily ?authorGivenName ?orgName ?orgPostalCode ?orgAddress
|
SELECT DISTINCT ?author
|
||||||
WHERE {
|
WHERE {
|
||||||
?individualURI ts_:hasTOC ?toc .
|
?individualURI ts_:hasTOC ?toc .
|
||||||
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?elenphExcerpt .
|
?toc (ts_:hasTOCItem/ts_:pointsTo)+/ts_:hasText ?elenphExcerpt .
|
||||||
?elenphExcerpt ts_:hasAuthor ?participant .
|
?elenphExcerpt ts_:author ?author .
|
||||||
?participant ts_:participantFamily ?authorFamily .
|
} ORDER BY ?author
|
||||||
?participant ts_:participantInitials ?authorInitials .
|
|
||||||
?participant ts_:participantGivenName ?authorGivenName .
|
|
||||||
OPTIONAL { ?participant ts_:affiliatedWith ?organization .
|
|
||||||
OPTIONAL { ?organization ts_:officialOrganizationName ?orgName } .
|
|
||||||
OPTIONAL { ?organization ts_:organizationPostalCode ?orgPostalCode } .
|
|
||||||
OPTIONAL { ?organization ts_:organizationAddress ?orgAddress } .
|
|
||||||
}
|
|
||||||
|
|
||||||
} ORDER BY ?authorFamily
|
|
||||||
""" .
|
""" .
|
||||||
|
|
||||||
display:getArticleRubricsDataGetter
|
display:getArticleRubricsDataGetter
|
||||||
|
|
|
@ -8,7 +8,6 @@
|
||||||
|
|
||||||
|
|
||||||
<https://litvinovg.pro/text_structures#elenphExcerpt> display:hasDataGetter display:getExcerptAssignedArticlesDataGetter .
|
<https://litvinovg.pro/text_structures#elenphExcerpt> display:hasDataGetter display:getExcerptAssignedArticlesDataGetter .
|
||||||
<https://litvinovg.pro/text_structures#elenphExcerpt> display:hasDataGetter display:getExcerptAuthorsDataGetter .
|
|
||||||
|
|
||||||
|
|
||||||
display:getExcerptAssignedArticlesDataGetter
|
display:getExcerptAssignedArticlesDataGetter
|
||||||
|
@ -28,25 +27,3 @@ display:getExcerptAssignedArticlesDataGetter
|
||||||
} ORDER BY ?articleName
|
} ORDER BY ?articleName
|
||||||
""" .
|
""" .
|
||||||
|
|
||||||
display:getExcerptAuthorsDataGetter
|
|
||||||
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter>;
|
|
||||||
display:saveToVar "authors";
|
|
||||||
display:query
|
|
||||||
"""
|
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
|
||||||
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
|
||||||
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
|
||||||
SELECT DISTINCT ?authorInitials ?authorFamily ?authorGivenName ?orgName ?orgPostalCode ?orgAddress
|
|
||||||
WHERE {
|
|
||||||
?individualURI ts_:hasAuthor ?participant .
|
|
||||||
?participant ts_:participantFamily ?authorFamily .
|
|
||||||
?participant ts_:participantInitials ?authorInitials .
|
|
||||||
?participant ts_:participantGivenName ?authorGivenName .
|
|
||||||
OPTIONAL { ?participant ts_:affiliatedWith ?organization .
|
|
||||||
OPTIONAL { ?organization ts_:officialOrganizationName ?orgName } .
|
|
||||||
OPTIONAL { ?organization ts_:organizationPostalCode ?orgPostalCode } .
|
|
||||||
OPTIONAL { ?organization ts_:organizationAddress ?orgAddress } .
|
|
||||||
}
|
|
||||||
|
|
||||||
} ORDER BY ?authorFamily
|
|
||||||
""" .
|
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
@prefix vitroDisplay: <http://vitro.mannlib.cornell.edu/ontologies/display/1.1#> .
|
|
||||||
|
|
||||||
vitroDisplay:SearchIndex vitroDisplay:excludeClass <https://litvinovg.pro/search_ontology#filter> .
|
|
||||||
vitroDisplay:SearchIndex vitroDisplay:excludeClass <https://litvinovg.pro/search_ontology#statement> .
|
|
||||||
vitroDisplay:SearchIndex vitroDisplay:excludeClass <https://litvinovg.pro/search_ontology#searchField> .
|
|
||||||
vitroDisplay:SearchIndex vitroDisplay:excludeClass <https://litvinovg.pro/search_ontology#sort> .
|
|
||||||
vitroDisplay:SearchIndex vitroDisplay:excludeClass <https://litvinovg.pro/text_structures#TOC> .
|
|
||||||
vitroDisplay:SearchIndex vitroDisplay:excludeClass <https://litvinovg.pro/text_structures#TOCLevel> .
|
|
||||||
vitroDisplay:SearchIndex vitroDisplay:excludeClass <https://litvinovg.pro/text_structures#TOCItem> .
|
|
||||||
vitroDisplay:SearchIndex vitroDisplay:excludeClass <https://litvinovg.pro/text_structures#publicationParticipant> .
|
|
||||||
vitroDisplay:SearchIndex vitroDisplay:excludeClass <https://litvinovg.pro/text_structures#organization> .
|
|
|
@ -72,7 +72,6 @@
|
||||||
<rdfs:domain rdf:resource="https://iph.ras.ru/relationships#rubric"/>
|
<rdfs:domain rdf:resource="https://iph.ras.ru/relationships#rubric"/>
|
||||||
</owl:ObjectProperty>
|
</owl:ObjectProperty>
|
||||||
<owl:ObjectProperty rdf:about="https://iph.ras.ru/relationships#belongsTo">
|
<owl:ObjectProperty rdf:about="https://iph.ras.ru/relationships#belongsTo">
|
||||||
<vitro:customEntryFormAnnot>edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddRubricToELENPHArticleGenerator</vitro:customEntryFormAnnot>
|
|
||||||
<rdfs:range rdf:resource="https://iph.ras.ru/relationships#rubric"/>
|
<rdfs:range rdf:resource="https://iph.ras.ru/relationships#rubric"/>
|
||||||
<rdfs:label xml:lang="en-US">belongs to</rdfs:label>
|
<rdfs:label xml:lang="en-US">belongs to</rdfs:label>
|
||||||
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
|
@ -80,7 +79,7 @@
|
||||||
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
<vitro:selectFromExistingAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
|
<vitro:selectFromExistingAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
|
||||||
>true</vitro:selectFromExistingAnnot>
|
>true</vitro:selectFromExistingAnnot>
|
||||||
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#publication"/>
|
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#textExcerpt"/>
|
||||||
</owl:ObjectProperty>
|
</owl:ObjectProperty>
|
||||||
<owl:DatatypeProperty rdf:about="https://iph.ras.ru/relationships#rubricOrder">
|
<owl:DatatypeProperty rdf:about="https://iph.ras.ru/relationships#rubricOrder">
|
||||||
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
|
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?><rdf:RDF
|
<?xml version="1.0" encoding="UTF-8"?><rdf:RDF
|
||||||
xmlns:ns="http://www.w3.org/2003/06/sw-vocab-status/ns#"
|
xmlns:ns="http://www.w3.org/2003/06/sw-vocab-status/ns#"
|
||||||
xmlns:search="https://litvinovg.pro/search_ontology#"
|
|
||||||
xmlns:scires="http://vivoweb.org/ontology/scientific-research#"
|
xmlns:scires="http://vivoweb.org/ontology/scientific-research#"
|
||||||
xmlns:ocresst="http://purl.org/net/OCRe/statistics.owl#"
|
xmlns:ocresst="http://purl.org/net/OCRe/statistics.owl#"
|
||||||
xmlns:ocresd="http://purl.org/net/OCRe/study_design.owl#"
|
xmlns:ocresd="http://purl.org/net/OCRe/study_design.owl#"
|
||||||
|
@ -30,63 +29,40 @@
|
||||||
xmlns:vcard="http://www.w3.org/2006/vcard/ns#"
|
xmlns:vcard="http://www.w3.org/2006/vcard/ns#"
|
||||||
xmlns:bibo="http://purl.org/ontology/bibo/"
|
xmlns:bibo="http://purl.org/ontology/bibo/"
|
||||||
xmlns:fabio="http://purl.org/spar/fabio/"
|
xmlns:fabio="http://purl.org/spar/fabio/"
|
||||||
|
xmlns:search="https://dideside.com/searchOntology#"
|
||||||
xmlns:foaf="http://xmlns.com/foaf/0.1/">
|
xmlns:foaf="http://xmlns.com/foaf/0.1/">
|
||||||
<owl:Ontology rdf:about="https://litvinovg.pro/text_structures">
|
<owl:Ontology rdf:about="https://litvinovg.pro/text_structures">
|
||||||
<rdfs:label xml:lang="ru-RU">Text structures Ontology</rdfs:label>
|
|
||||||
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
|
|
||||||
>Text structures Ontology</rdfs:label>
|
|
||||||
<vitro:ontologyPrefixAnnot>ts</vitro:ontologyPrefixAnnot>
|
<vitro:ontologyPrefixAnnot>ts</vitro:ontologyPrefixAnnot>
|
||||||
|
<rdfs:label xml:lang="ru-RU">Text structures Ontology</rdfs:label>
|
||||||
</owl:Ontology>
|
</owl:Ontology>
|
||||||
<owl:Class rdf:about="https://litvinovg.pro/text_structures#TOC">
|
<owl:Class rdf:about="https://litvinovg.pro/text_structures#book">
|
||||||
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<rdfs:label xml:lang="en-US">Table of contents</rdfs:label>
|
|
||||||
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
|
|
||||||
>Table of contents</rdfs:label>
|
|
||||||
<rdfs:subClassOf>
|
|
||||||
<owl:Class rdf:about="https://litvinovg.pro/text_structures#TOCLevel"/>
|
|
||||||
</rdfs:subClassOf>
|
|
||||||
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:displayRankAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
|
|
||||||
>-1</vitro:displayRankAnnot>
|
|
||||||
<vitro:displayRankAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#integer"
|
|
||||||
>-1</vitro:displayRankAnnot>
|
|
||||||
<vitro:displayLimitAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#integer"
|
|
||||||
>-1</vitro:displayLimitAnnot>
|
|
||||||
<vitro:displayLimitAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
|
|
||||||
>-1</vitro:displayLimitAnnot>
|
|
||||||
</owl:Class>
|
|
||||||
<owl:Class rdf:about="https://litvinovg.pro/text_structures#complexPublication">
|
|
||||||
<rdfs:label xml:lang="en-US">Complex Publication</rdfs:label>
|
|
||||||
<vitro:displayLimitAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
|
|
||||||
>-1</vitro:displayLimitAnnot>
|
|
||||||
<vitro:displayRankAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
|
|
||||||
>-1</vitro:displayRankAnnot>
|
|
||||||
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<rdfs:subClassOf>
|
<rdfs:subClassOf>
|
||||||
<owl:Class rdf:about="https://litvinovg.pro/text_structures#publication"/>
|
<owl:Class rdf:about="https://litvinovg.pro/text_structures#publication"/>
|
||||||
</rdfs:subClassOf>
|
</rdfs:subClassOf>
|
||||||
|
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
|
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
|
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
|
<vitro:displayRankAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
|
||||||
|
>-1</vitro:displayRankAnnot>
|
||||||
|
<vitro:displayLimitAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
|
||||||
|
>-1</vitro:displayLimitAnnot>
|
||||||
|
<rdfs:label xml:lang="en-US">Book</rdfs:label>
|
||||||
|
</owl:Class>
|
||||||
|
<owl:Class rdf:about="https://litvinovg.pro/text_structures#TOC">
|
||||||
|
<rdfs:label xml:lang="en-US">Table of contents</rdfs:label>
|
||||||
|
<vitro:displayLimitAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
|
||||||
|
>-1</vitro:displayLimitAnnot>
|
||||||
|
<vitro:displayRankAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
|
||||||
|
>-1</vitro:displayRankAnnot>
|
||||||
|
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
|
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
|
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
|
<rdfs:subClassOf>
|
||||||
|
<owl:Class rdf:about="https://litvinovg.pro/text_structures#TOCLevel"/>
|
||||||
|
</rdfs:subClassOf>
|
||||||
</owl:Class>
|
</owl:Class>
|
||||||
<owl:Class rdf:about="https://litvinovg.pro/text_structures#publication">
|
<owl:Class rdf:about="https://litvinovg.pro/text_structures#publication">
|
||||||
<vitro:displayLimitAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
|
|
||||||
>-1</vitro:displayLimitAnnot>
|
|
||||||
<vitro:displayLimitAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#integer"
|
|
||||||
>-1</vitro:displayLimitAnnot>
|
|
||||||
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<rdfs:label xml:lang="en-US">Publication</rdfs:label>
|
<rdfs:label xml:lang="en-US">Publication</rdfs:label>
|
||||||
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
|
|
||||||
>Publication</rdfs:label>
|
|
||||||
<vitro:displayRankAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
|
|
||||||
>-1</vitro:displayRankAnnot>
|
|
||||||
<vitro:displayRankAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#integer"
|
|
||||||
>-1</vitro:displayRankAnnot>
|
|
||||||
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
</owl:Class>
|
|
||||||
<owl:Class rdf:about="https://litvinovg.pro/text_structures#publicationParticipant">
|
|
||||||
<rdfs:label xml:lang="en-US">Publication Participant</rdfs:label>
|
|
||||||
<vitro:displayLimitAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
|
<vitro:displayLimitAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
|
||||||
>-1</vitro:displayLimitAnnot>
|
>-1</vitro:displayLimitAnnot>
|
||||||
<vitro:displayRankAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
|
<vitro:displayRankAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
|
||||||
|
@ -95,87 +71,6 @@
|
||||||
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
</owl:Class>
|
</owl:Class>
|
||||||
<owl:Class rdf:about="https://litvinovg.pro/text_structures#TOCItem">
|
|
||||||
<rdfs:label xml:lang="en-US">TOC Item</rdfs:label>
|
|
||||||
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
|
|
||||||
>TOC Item</rdfs:label>
|
|
||||||
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
</owl:Class>
|
|
||||||
<owl:Class rdf:about="https://litvinovg.pro/text_structures#organization">
|
|
||||||
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<rdfs:label xml:lang="en-US">Organization</rdfs:label>
|
|
||||||
</owl:Class>
|
|
||||||
<owl:Class rdf:about="https://litvinovg.pro/text_structures#elenphArticle">
|
|
||||||
<rdfs:subClassOf>
|
|
||||||
<owl:Class rdf:about="https://litvinovg.pro/text_structures#encArticle"/>
|
|
||||||
</rdfs:subClassOf>
|
|
||||||
<owl:equivalentClass rdf:resource="https://litvinovg.pro/text_structures#elenphArticle"/>
|
|
||||||
<vitro:customDisplayViewAnnot>elenphAritcle.ftl</vitro:customDisplayViewAnnot>
|
|
||||||
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
|
|
||||||
>Electronic philosophical encyclopedia article</rdfs:label>
|
|
||||||
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
|
|
||||||
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:inClassGroup rdf:resource="http://vivo.mydomain.edu/individual/vitroClassGroupElenpharticles"/>
|
|
||||||
</owl:Class>
|
|
||||||
<owl:Class rdf:about="https://litvinovg.pro/text_structures#compilation">
|
|
||||||
<rdfs:subClassOf rdf:resource="https://litvinovg.pro/text_structures#complexPublication"/>
|
|
||||||
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:customDisplayViewAnnot>compilation.ftl</vitro:customDisplayViewAnnot>
|
|
||||||
<rdfs:label xml:lang="en-US">Compilation</rdfs:label>
|
|
||||||
<vitro:customEntryFormAnnot>edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.CompilationGenerator</vitro:customEntryFormAnnot>
|
|
||||||
</owl:Class>
|
|
||||||
<owl:Class rdf:about="https://litvinovg.pro/text_structures#textExcerpt">
|
|
||||||
<vitro:inClassGroup rdf:resource="http://research.iph.ras.ru/vivo/individual/vitroClassGroupTableofcontents"/>
|
|
||||||
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
|
|
||||||
<owl:equivalentClass rdf:resource="https://litvinovg.pro/text_structures#textExcerpt"/>
|
|
||||||
<rdfs:subClassOf rdf:resource="https://litvinovg.pro/text_structures#publication"/>
|
|
||||||
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
|
|
||||||
>Text excerpt</rdfs:label>
|
|
||||||
</owl:Class>
|
|
||||||
<owl:Class rdf:about="https://litvinovg.pro/text_structures#book">
|
|
||||||
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<rdfs:label xml:lang="en-US">Book</rdfs:label>
|
|
||||||
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
|
|
||||||
>Book</rdfs:label>
|
|
||||||
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:displayLimitAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#integer"
|
|
||||||
>-1</vitro:displayLimitAnnot>
|
|
||||||
<vitro:displayLimitAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
|
|
||||||
>-1</vitro:displayLimitAnnot>
|
|
||||||
<vitro:displayRankAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
|
|
||||||
>-1</vitro:displayRankAnnot>
|
|
||||||
<vitro:displayRankAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#integer"
|
|
||||||
>-1</vitro:displayRankAnnot>
|
|
||||||
<rdfs:subClassOf rdf:resource="https://litvinovg.pro/text_structures#complexPublication"/>
|
|
||||||
</owl:Class>
|
|
||||||
<owl:Class rdf:about="https://litvinovg.pro/text_structures#journalArticle">
|
|
||||||
<vitro:displayLimitAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
|
|
||||||
>-1</vitro:displayLimitAnnot>
|
|
||||||
<vitro:displayLimitAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#integer"
|
|
||||||
>-1</vitro:displayLimitAnnot>
|
|
||||||
<rdfs:subClassOf rdf:resource="https://litvinovg.pro/text_structures#complexPublication"/>
|
|
||||||
<vitro:displayRankAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#integer"
|
|
||||||
>-1</vitro:displayRankAnnot>
|
|
||||||
<vitro:displayRankAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
|
|
||||||
>-1</vitro:displayRankAnnot>
|
|
||||||
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
|
|
||||||
>Journal Article</rdfs:label>
|
|
||||||
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
</owl:Class>
|
|
||||||
<owl:Class rdf:about="https://litvinovg.pro/text_structures#encArticle">
|
<owl:Class rdf:about="https://litvinovg.pro/text_structures#encArticle">
|
||||||
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
|
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
|
||||||
>Encyclopedia article</rdfs:label>
|
>Encyclopedia article</rdfs:label>
|
||||||
|
@ -186,7 +81,13 @@
|
||||||
>-1</vitro:displayRankAnnot>
|
>-1</vitro:displayRankAnnot>
|
||||||
<vitro:displayLimitAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#integer"
|
<vitro:displayLimitAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#integer"
|
||||||
>-1</vitro:displayLimitAnnot>
|
>-1</vitro:displayLimitAnnot>
|
||||||
<rdfs:subClassOf rdf:resource="https://litvinovg.pro/text_structures#complexPublication"/>
|
<rdfs:subClassOf rdf:resource="https://litvinovg.pro/text_structures#publication"/>
|
||||||
|
</owl:Class>
|
||||||
|
<owl:Class rdf:about="https://litvinovg.pro/text_structures#TOCItem">
|
||||||
|
<rdfs:label xml:lang="en-US">TOC Item</rdfs:label>
|
||||||
|
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
|
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
|
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
</owl:Class>
|
</owl:Class>
|
||||||
<owl:Class rdf:about="https://litvinovg.pro/text_structures#elenphExcerpt">
|
<owl:Class rdf:about="https://litvinovg.pro/text_structures#elenphExcerpt">
|
||||||
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
|
@ -195,53 +96,56 @@
|
||||||
<owl:equivalentClass rdf:resource="https://litvinovg.pro/text_structures#elenphExcerpt"/>
|
<owl:equivalentClass rdf:resource="https://litvinovg.pro/text_structures#elenphExcerpt"/>
|
||||||
<vitro:customDisplayViewAnnot>elenphExcerpt.ftl</vitro:customDisplayViewAnnot>
|
<vitro:customDisplayViewAnnot>elenphExcerpt.ftl</vitro:customDisplayViewAnnot>
|
||||||
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
<rdfs:subClassOf rdf:resource="https://litvinovg.pro/text_structures#textExcerpt"/>
|
<rdfs:subClassOf>
|
||||||
|
<owl:Class rdf:about="https://litvinovg.pro/text_structures#textExcerpt"/>
|
||||||
|
</rdfs:subClassOf>
|
||||||
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
|
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
|
||||||
>Elenph Excerpt</rdfs:label>
|
>Elenph Excerpt</rdfs:label>
|
||||||
</owl:Class>
|
</owl:Class>
|
||||||
|
<owl:Class rdf:about="https://litvinovg.pro/text_structures#elenphArticle">
|
||||||
|
<rdfs:subClassOf rdf:resource="https://litvinovg.pro/text_structures#encArticle"/>
|
||||||
|
<owl:equivalentClass rdf:resource="https://litvinovg.pro/text_structures#elenphArticle"/>
|
||||||
|
<vitro:customDisplayViewAnnot>elenphAritcle.ftl</vitro:customDisplayViewAnnot>
|
||||||
|
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
|
||||||
|
>Electronic philosophical encyclopedia article</rdfs:label>
|
||||||
|
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
|
<rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
|
||||||
|
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
|
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
|
<vitro:inClassGroup rdf:resource="http://vivo.mydomain.edu/individual/vitroClassGroupElenpharticles"/>
|
||||||
|
</owl:Class>
|
||||||
|
<owl:Class rdf:about="https://litvinovg.pro/text_structures#textExcerpt">
|
||||||
|
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
|
||||||
|
>Text excerpt</rdfs:label>
|
||||||
|
<vitro:inClassGroup rdf:resource="http://research.iph.ras.ru/vivo/individual/vitroClassGroupTableofcontents"/>
|
||||||
|
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
|
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
|
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
|
<rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
|
||||||
|
<owl:equivalentClass rdf:resource="https://litvinovg.pro/text_structures#textExcerpt"/>
|
||||||
|
</owl:Class>
|
||||||
|
<owl:Class rdf:about="https://litvinovg.pro/text_structures#journal">
|
||||||
|
<rdfs:label xml:lang="en-US">Journal</rdfs:label>
|
||||||
|
<vitro:displayLimitAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
|
||||||
|
>-1</vitro:displayLimitAnnot>
|
||||||
|
<vitro:displayRankAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
|
||||||
|
>-1</vitro:displayRankAnnot>
|
||||||
|
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
|
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
|
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
|
<rdfs:subClassOf rdf:resource="https://litvinovg.pro/text_structures#publication"/>
|
||||||
|
</owl:Class>
|
||||||
<owl:Class rdf:about="https://litvinovg.pro/text_structures#TOCLevel">
|
<owl:Class rdf:about="https://litvinovg.pro/text_structures#TOCLevel">
|
||||||
<vitro:inClassGroup rdf:resource="http://research.iph.ras.ru/vivo/individual/vitroClassGroupTableofcontents"/>
|
<vitro:inClassGroup rdf:resource="http://research.iph.ras.ru/vivo/individual/vitroClassGroupTableofcontents"/>
|
||||||
<owl:equivalentClass rdf:resource="https://litvinovg.pro/text_structures#TOCLevel"/>
|
|
||||||
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<rdfs:label xml:lang="en-US">TOC Level</rdfs:label>
|
|
||||||
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
|
|
||||||
>TOC Level</rdfs:label>
|
|
||||||
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<obo:IAO_0000115>Table of contents element</obo:IAO_0000115>
|
|
||||||
<rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
|
<rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
|
||||||
|
<obo:IAO_0000115>Table of contents element</obo:IAO_0000115>
|
||||||
|
<rdfs:label xml:lang="en-US">TOC Level</rdfs:label>
|
||||||
|
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
|
<owl:equivalentClass rdf:resource="https://litvinovg.pro/text_structures#TOCLevel"/>
|
||||||
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
|
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
</owl:Class>
|
</owl:Class>
|
||||||
<owl:ObjectProperty rdf:about="https://litvinovg.pro/text_structures#hasAuthor">
|
|
||||||
<rdfs:label xml:lang="en-US">has author</rdfs:label>
|
|
||||||
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#textExcerpt"/>
|
|
||||||
<rdfs:range rdf:resource="https://litvinovg.pro/text_structures#publicationParticipant"/>
|
|
||||||
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:selectFromExistingAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
|
|
||||||
>true</vitro:selectFromExistingAnnot>
|
|
||||||
</owl:ObjectProperty>
|
|
||||||
<owl:ObjectProperty rdf:about="https://litvinovg.pro/text_structures#affiliatedWith">
|
|
||||||
<rdfs:label xml:lang="en-US">affiliated with</rdfs:label>
|
|
||||||
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#publicationParticipant"/>
|
|
||||||
<rdfs:range rdf:resource="https://litvinovg.pro/text_structures#organization"/>
|
|
||||||
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:selectFromExistingAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
|
|
||||||
>true</vitro:selectFromExistingAnnot>
|
|
||||||
</owl:ObjectProperty>
|
|
||||||
<owl:ObjectProperty rdf:about="https://litvinovg.pro/text_structures#compilatorOf">
|
|
||||||
<rdfs:label xml:lang="en-US">compilatorOf</rdfs:label>
|
|
||||||
<rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
|
|
||||||
<rdfs:range rdf:resource="https://litvinovg.pro/text_structures#compilation"/>
|
|
||||||
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:selectFromExistingAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
|
|
||||||
>true</vitro:selectFromExistingAnnot>
|
|
||||||
</owl:ObjectProperty>
|
|
||||||
<owl:ObjectProperty rdf:about="https://litvinovg.pro/text_structures#hasTOCItem">
|
<owl:ObjectProperty rdf:about="https://litvinovg.pro/text_structures#hasTOCItem">
|
||||||
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#TOCLevel"/>
|
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#TOCLevel"/>
|
||||||
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
|
@ -256,13 +160,22 @@
|
||||||
<rdfs:range rdf:resource="https://litvinovg.pro/text_structures#TOCItem"/>
|
<rdfs:range rdf:resource="https://litvinovg.pro/text_structures#TOCItem"/>
|
||||||
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
</owl:ObjectProperty>
|
</owl:ObjectProperty>
|
||||||
|
<owl:ObjectProperty rdf:about="https://litvinovg.pro/text_structures#hasTOC">
|
||||||
|
<rdfs:label xml:lang="en-US">has TOC</rdfs:label>
|
||||||
|
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
|
||||||
|
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#publication"/>
|
||||||
|
<rdfs:range rdf:resource="https://litvinovg.pro/text_structures#TOC"/>
|
||||||
|
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
|
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
|
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
|
<vitro:selectFromExistingAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
|
||||||
|
>true</vitro:selectFromExistingAnnot>
|
||||||
|
</owl:ObjectProperty>
|
||||||
<owl:ObjectProperty rdf:about="https://litvinovg.pro/text_structures#hasText">
|
<owl:ObjectProperty rdf:about="https://litvinovg.pro/text_structures#hasText">
|
||||||
<rdfs:range rdf:resource="https://litvinovg.pro/text_structures#textExcerpt"/>
|
<rdfs:range rdf:resource="https://litvinovg.pro/text_structures#textExcerpt"/>
|
||||||
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#TOCLevel"/>
|
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#TOCLevel"/>
|
||||||
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
<rdfs:label xml:lang="en-US">has text</rdfs:label>
|
<rdfs:label xml:lang="en-US">has text</rdfs:label>
|
||||||
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
|
|
||||||
>has text</rdfs:label>
|
|
||||||
<vitro:inPropertyGroupAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/default#n6578"/>
|
<vitro:inPropertyGroupAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/default#n6578"/>
|
||||||
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
|
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
|
||||||
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
|
@ -287,31 +200,29 @@
|
||||||
<vitro:selectFromExistingAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
|
<vitro:selectFromExistingAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
|
||||||
>true</vitro:selectFromExistingAnnot>
|
>true</vitro:selectFromExistingAnnot>
|
||||||
</owl:ObjectProperty>
|
</owl:ObjectProperty>
|
||||||
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#queryBuilderRules">
|
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#author">
|
||||||
<rdfs:label xml:lang="en-US">Query Builder Rules</rdfs:label>
|
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#compilation"/>
|
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
|
||||||
|
>author</rdfs:label>
|
||||||
|
<vitro:inPropertyGroupAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/default#n6578"/>
|
||||||
|
<rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topDataProperty"/>
|
||||||
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
|
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
|
||||||
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
|
<rdfs:subPropertyOf rdf:resource="https://litvinovg.pro/text_structures#author"/>
|
||||||
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#elenphExcerpt"/>
|
||||||
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
|
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
</owl:DatatypeProperty>
|
</owl:DatatypeProperty>
|
||||||
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#rawQueryString">
|
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#works">
|
||||||
<rdfs:label xml:lang="en-US">Raw Query String</rdfs:label>
|
<vitro:inPropertyGroupAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/default#n6578"/>
|
||||||
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#compilation"/>
|
|
||||||
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
|
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
|
||||||
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
|
|
||||||
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
</owl:DatatypeProperty>
|
|
||||||
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#participantInitials">
|
|
||||||
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
|
<rdfs:subPropertyOf rdf:resource="https://litvinovg.pro/text_structures#works"/>
|
||||||
|
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#elenphExcerpt"/>
|
||||||
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
|
||||||
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#publicationParticipant"/>
|
>Works</rdfs:label>
|
||||||
<rdfs:label xml:lang="en-US">Publication Participant Initials</rdfs:label>
|
<rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topDataProperty"/>
|
||||||
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
|
|
||||||
</owl:DatatypeProperty>
|
</owl:DatatypeProperty>
|
||||||
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#doi">
|
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#doi">
|
||||||
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
|
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
|
||||||
|
@ -326,14 +237,6 @@
|
||||||
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
|
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
|
||||||
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
</owl:DatatypeProperty>
|
</owl:DatatypeProperty>
|
||||||
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#participantGivenName">
|
|
||||||
<rdfs:label xml:lang="en-US">Publication Participant Given Name</rdfs:label>
|
|
||||||
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#publicationParticipant"/>
|
|
||||||
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
|
|
||||||
</owl:DatatypeProperty>
|
|
||||||
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#firstPublication">
|
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#firstPublication">
|
||||||
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#elenphArticle"/>
|
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#elenphArticle"/>
|
||||||
<rdfs:subPropertyOf rdf:resource="https://litvinovg.pro/text_structures#firstPublication"/>
|
<rdfs:subPropertyOf rdf:resource="https://litvinovg.pro/text_structures#firstPublication"/>
|
||||||
|
@ -346,15 +249,6 @@
|
||||||
>First publication</rdfs:label>
|
>First publication</rdfs:label>
|
||||||
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
</owl:DatatypeProperty>
|
</owl:DatatypeProperty>
|
||||||
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#modificationTime">
|
|
||||||
<rdfs:label xml:lang="en-US">Modification time</rdfs:label>
|
|
||||||
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#publication"/>
|
|
||||||
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#dateTime"/>
|
|
||||||
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
|
|
||||||
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
</owl:DatatypeProperty>
|
|
||||||
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#keywords">
|
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#keywords">
|
||||||
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
|
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
|
||||||
>Keywords</rdfs:label>
|
>Keywords</rdfs:label>
|
||||||
|
@ -380,46 +274,6 @@
|
||||||
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
|
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
|
||||||
>html Excerpt</rdfs:label>
|
>html Excerpt</rdfs:label>
|
||||||
</owl:DatatypeProperty>
|
</owl:DatatypeProperty>
|
||||||
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#participantFamily">
|
|
||||||
<rdfs:label xml:lang="en-US">Publication Participant Family</rdfs:label>
|
|
||||||
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#publicationParticipant"/>
|
|
||||||
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
|
|
||||||
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
</owl:DatatypeProperty>
|
|
||||||
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#issue">
|
|
||||||
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#elenphArticle"/>
|
|
||||||
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
|
|
||||||
>Issue</rdfs:label>
|
|
||||||
<vitro:inPropertyGroupAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/default#n6578"/>
|
|
||||||
<rdfs:subPropertyOf rdf:resource="https://litvinovg.pro/text_structures#issue"/>
|
|
||||||
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
|
|
||||||
<rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topDataProperty"/>
|
|
||||||
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
</owl:DatatypeProperty>
|
|
||||||
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#participantEmail">
|
|
||||||
<rdfs:label xml:lang="en-US">Publication Participant email</rdfs:label>
|
|
||||||
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#publicationParticipant"/>
|
|
||||||
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
|
|
||||||
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
</owl:DatatypeProperty>
|
|
||||||
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#works">
|
|
||||||
<vitro:inPropertyGroupAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/default#n6578"/>
|
|
||||||
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
|
|
||||||
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<rdfs:subPropertyOf rdf:resource="https://litvinovg.pro/text_structures#works"/>
|
|
||||||
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#elenphExcerpt"/>
|
|
||||||
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
|
|
||||||
>Works</rdfs:label>
|
|
||||||
<rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topDataProperty"/>
|
|
||||||
</owl:DatatypeProperty>
|
|
||||||
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#yearAndMonth">
|
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#yearAndMonth">
|
||||||
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
|
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
|
||||||
>Year and month</rdfs:label>
|
>Year and month</rdfs:label>
|
||||||
|
@ -433,6 +287,18 @@
|
||||||
<rdfs:subPropertyOf rdf:resource="https://litvinovg.pro/text_structures#yearAndMonth"/>
|
<rdfs:subPropertyOf rdf:resource="https://litvinovg.pro/text_structures#yearAndMonth"/>
|
||||||
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
|
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/>
|
||||||
</owl:DatatypeProperty>
|
</owl:DatatypeProperty>
|
||||||
|
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#affiliation">
|
||||||
|
<rdfs:subPropertyOf rdf:resource="https://litvinovg.pro/text_structures#affiliation"/>
|
||||||
|
<vitro:inPropertyGroupAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/default#n6578"/>
|
||||||
|
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
|
<rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topDataProperty"/>
|
||||||
|
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
|
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#elenphExcerpt"/>
|
||||||
|
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
|
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
|
||||||
|
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
|
||||||
|
>Affiliation</rdfs:label>
|
||||||
|
</owl:DatatypeProperty>
|
||||||
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#bibliography">
|
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#bibliography">
|
||||||
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#elenphExcerpt"/>
|
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#elenphExcerpt"/>
|
||||||
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
|
@ -458,31 +324,18 @@
|
||||||
<rdfs:subPropertyOf rdf:resource="https://litvinovg.pro/text_structures#year"/>
|
<rdfs:subPropertyOf rdf:resource="https://litvinovg.pro/text_structures#year"/>
|
||||||
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
</owl:DatatypeProperty>
|
</owl:DatatypeProperty>
|
||||||
<owl:FunctionalProperty rdf:about="https://litvinovg.pro/text_structures#organizationAddress">
|
<owl:DatatypeProperty rdf:about="https://litvinovg.pro/text_structures#issue">
|
||||||
<rdfs:label xml:lang="en-US">Organization Address</rdfs:label>
|
|
||||||
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#organization"/>
|
|
||||||
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
|
|
||||||
</owl:FunctionalProperty>
|
|
||||||
<owl:FunctionalProperty rdf:about="https://litvinovg.pro/text_structures#organizationPostalCode">
|
|
||||||
<rdfs:label xml:lang="en-US">Organization Postal Code</rdfs:label>
|
|
||||||
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
|
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#elenphArticle"/>
|
||||||
|
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
|
||||||
|
>Issue</rdfs:label>
|
||||||
|
<vitro:inPropertyGroupAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/default#n6578"/>
|
||||||
|
<rdfs:subPropertyOf rdf:resource="https://litvinovg.pro/text_structures#issue"/>
|
||||||
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
|
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
|
||||||
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
<rdfs:subPropertyOf rdf:resource="http://www.w3.org/2002/07/owl#topDataProperty"/>
|
||||||
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#organization"/>
|
|
||||||
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
|
|
||||||
</owl:FunctionalProperty>
|
|
||||||
<owl:FunctionalProperty rdf:about="https://litvinovg.pro/text_structures#officialOrganizationName">
|
|
||||||
<rdfs:label xml:lang="en-US">Official Organization Name</rdfs:label>
|
|
||||||
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#organization"/>
|
</owl:DatatypeProperty>
|
||||||
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
|
|
||||||
</owl:FunctionalProperty>
|
|
||||||
<owl:FunctionalProperty rdf:about="https://litvinovg.pro/text_structures#">
|
<owl:FunctionalProperty rdf:about="https://litvinovg.pro/text_structures#">
|
||||||
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
||||||
<rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral"/>
|
<rdfs:range rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral"/>
|
||||||
|
@ -509,17 +362,4 @@
|
||||||
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#TOCItem"/>
|
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#TOCItem"/>
|
||||||
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/>
|
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/>
|
||||||
</owl:FunctionalProperty>
|
</owl:FunctionalProperty>
|
||||||
<owl:FunctionalProperty rdf:about="https://litvinovg.pro/text_structures#hasTOC">
|
|
||||||
<rdfs:range rdf:resource="https://litvinovg.pro/text_structures#TOC"/>
|
|
||||||
<rdfs:domain rdf:resource="https://litvinovg.pro/text_structures#complexPublication"/>
|
|
||||||
<vitro:prohibitedFromUpdateBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:selectFromExistingAnnot rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean"
|
|
||||||
>true</vitro:selectFromExistingAnnot>
|
|
||||||
<vitro:hiddenFromPublishBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<vitro:hiddenFromDisplayBelowRoleLevelAnnot rdf:resource="http://vitro.mannlib.cornell.edu/ns/vitro/role#public"/>
|
|
||||||
<rdfs:label xml:lang="en-US">has TOC</rdfs:label>
|
|
||||||
<rdfs:label rdf:datatype="http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"
|
|
||||||
>has TOC</rdfs:label>
|
|
||||||
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
|
|
||||||
</owl:FunctionalProperty>
|
|
||||||
</rdf:RDF>
|
</rdf:RDF>
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
@prefix ts_: <https://litvinovg.pro/text_structures#> .
|
|
||||||
@prefix display: <http://vitro.mannlib.cornell.edu/ontologies/display/1.1#> .
|
|
||||||
@prefix mydomain: <http://vivo.mydomain.edu/individual/> .
|
|
||||||
|
|
||||||
ts_:elenphExcerpt display:hasCustomView mydomain:elenphExcerptShortView .
|
|
||||||
|
|
||||||
mydomain:elenphExcerptShortView
|
|
||||||
a display:customViewForIndividual ;
|
|
||||||
display:appliesToContext "SEARCH" ;
|
|
||||||
display:hasTemplate "elenphExcerptShortView.ftl" ;
|
|
||||||
display:hasDataGetter mydomain:elenphExcerptShortViewDataGetter .
|
|
||||||
|
|
||||||
mydomain:elenphExcerptShortViewDataGetter
|
|
||||||
a <java:edu.cornell.mannlib.vitro.webapp.utils.dataGetter.SparqlQueryDataGetter>;
|
|
||||||
display:saveToVar "excerptInfo";
|
|
||||||
display:query
|
|
||||||
"""
|
|
||||||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
|
|
||||||
PREFIX vivo: <http://vivoweb.org/ontology/core#>
|
|
||||||
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
|
|
||||||
PREFIX ts_: <https://litvinovg.pro/text_structures#>
|
|
||||||
SELECT ?property ?value
|
|
||||||
WHERE {
|
|
||||||
?individualUri ?property ?value .
|
|
||||||
?individualUri rdf:type ts_:elenphExcerpt .
|
|
||||||
}
|
|
||||||
""" .
|
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
@ -1,18 +0,0 @@
|
||||||
{
|
|
||||||
let content = document.getElementById("wrapper-content");
|
|
||||||
let toc = document.getElementById("TOC");
|
|
||||||
createTOC(content, toc);
|
|
||||||
|
|
||||||
function createTOC(content, toc){
|
|
||||||
if (toc === null){
|
|
||||||
alert("no TOC element found");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (content === null){
|
|
||||||
alert("no content element found");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -22,3 +22,4 @@ Disallow: /vis/ # VIVO addition
|
||||||
Disallow: /visualizationAjax/ # VIVO addition
|
Disallow: /visualizationAjax/ # VIVO addition
|
||||||
Disallow: /visualizationData/ # VIVO addition
|
Disallow: /visualizationData/ # VIVO addition
|
||||||
Disallow: /qrcode # VIVO addition
|
Disallow: /qrcode # VIVO addition
|
||||||
|
Disallow: /individual # VIVO addition
|
||||||
|
|
|
@ -1,49 +0,0 @@
|
||||||
<#-- $This file is distributed under the terms of the license in LICENSE$ -->
|
|
||||||
|
|
||||||
<#-- Template for browsing individuals in class groups for menupages -->
|
|
||||||
|
|
||||||
<#import "lib-string.ftl" as str>
|
|
||||||
<noscript>
|
|
||||||
<p style="padding: 20px 20px 20px 20px;background-color:#f8ffb7">${i18n().browse_page_javascript_one} <a href="${urls.base}/browse" title="${i18n().index_page}">${i18n().index_page}</a> ${i18n().browse_page_javascript_two}</p>
|
|
||||||
</noscript>
|
|
||||||
|
|
||||||
<section id="noJavascriptContainer" class="hidden">
|
|
||||||
<section id="browse-by" role="region">
|
|
||||||
<nav role="navigation">
|
|
||||||
<ul id="browse-classes">
|
|
||||||
<#list vClassGroup?sort_by("displayRank") as vClass>
|
|
||||||
<#------------------------------------------------------------
|
|
||||||
Need to replace vClassCamel with full URL that allows function
|
|
||||||
to degrade gracefully in absence of JavaScript. Something
|
|
||||||
similar to what Brian had setup with widget-browse.ftl
|
|
||||||
------------------------------------------------------------->
|
|
||||||
<#assign vClassCamel = str.camelCase(vClass.name) />
|
|
||||||
<#-- Only display vClasses with individuals -->
|
|
||||||
<#if (vClass.entityCount > 0)>
|
|
||||||
<li id="${vClassCamel}"><a href="#${vClassCamel}" title="${i18n().browse_all_in_class}" data-uri="${vClass.URI}">${vClass.name} <span class="count-classes">(${vClass.entityCount})</span></a></li>
|
|
||||||
</#if>
|
|
||||||
</#list>
|
|
||||||
</ul>
|
|
||||||
<nav id="alpha-browse-container" role="navigation">
|
|
||||||
<h3 class="selected-class"></h3>
|
|
||||||
<#assign alphabet = ["А", "Б", "В", "Г", "Д", "Е", "Ё" "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Э", "Ю", "Я" ] />
|
|
||||||
<ul id="alpha-browse-individuals">
|
|
||||||
<li><a href="#" class="selected" data-alpha="all" title="${i18n().select_all}">${i18n().all}</a></li>
|
|
||||||
<#list alphabet as letter>
|
|
||||||
<li><a href="#" data-alpha="${letter?lower_case}" title="${i18n().browse_all_starts_with(letter)}">${letter}</a></li>
|
|
||||||
</#list>
|
|
||||||
</ul>
|
|
||||||
</nav>
|
|
||||||
</nav>
|
|
||||||
|
|
||||||
<section id="individuals-in-class" role="region">
|
|
||||||
<ul role="list">
|
|
||||||
|
|
||||||
<#-- Will be populated dynamically via AJAX request -->
|
|
||||||
</ul>
|
|
||||||
</section>
|
|
||||||
</section>
|
|
||||||
</section>
|
|
||||||
<script type="text/javascript">
|
|
||||||
$('section#noJavascriptContainer').removeClass('hidden');
|
|
||||||
</script>
|
|
|
@ -4,10 +4,8 @@
|
||||||
|
|
||||||
<#import "lib-vivo-properties.ftl" as p>
|
<#import "lib-vivo-properties.ftl" as p>
|
||||||
|
|
||||||
<div class="searchResult">
|
|
||||||
<a href="${individual.profileUrl}" title="${i18n().individual_name}">${individual.name}</a>
|
<a href="${individual.profileUrl}" title="${i18n().individual_name}">${individual.name}</a>
|
||||||
|
|
||||||
<@p.displayTitle individual />
|
<@p.displayTitle individual />
|
||||||
|
|
||||||
<p class="snippet">${individual.snippet}</p>
|
<p class="snippet">${individual.snippet}</p>
|
||||||
</div>
|
|
||||||
|
|
|
@ -1,16 +0,0 @@
|
||||||
<#-- $This file is distributed under the terms of the license in LICENSE$ -->
|
|
||||||
|
|
||||||
<#-- Template for displaying search error message -->
|
|
||||||
|
|
||||||
<#if title??>
|
|
||||||
<div class="errorPageTitle">
|
|
||||||
<h2>${title?html}</h2>
|
|
||||||
</div>
|
|
||||||
</#if>
|
|
||||||
<div id="nomatchingTitle">
|
|
||||||
<p>
|
|
||||||
${message?html}
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<#include "searchSelector.ftl">
|
|
||||||
<#include "search-help.ftl" >
|
|
|
@ -1,49 +0,0 @@
|
||||||
<#-- $This file is distributed under the terms of the license in LICENSE$ -->
|
|
||||||
|
|
||||||
<#if origination?has_content && origination == "helpLink">
|
|
||||||
<div id="searchTipsTitleH2">
|
|
||||||
<h2>Search Tips</h2>
|
|
||||||
</div>
|
|
||||||
<span id="searchHelp">
|
|
||||||
<a href="#" onClick="history.back();return false;" title="back to results">Back to results</a>
|
|
||||||
</span>
|
|
||||||
<#else>
|
|
||||||
<div id="searchTipsTitleH3">
|
|
||||||
<h3>Search Tips</h3>
|
|
||||||
</div>
|
|
||||||
</#if>
|
|
||||||
<ul class="searchTips">
|
|
||||||
<li>Keep it simple! Use short, single terms unless your searches are returning too many results.</li>
|
|
||||||
<li>Use quotes to search for an entire phrase -- e.g., "<i>protein folding</i>".</li>
|
|
||||||
<li>Except for boolean operators, searches are <strong>not</strong> case-sensitive, so "Geneva" and "geneva" are equivalent</li>
|
|
||||||
<li>If you are unsure of the correct spelling, put ~ at the end of your search term -- e.g., <i>cabage~</i> finds <i>cabbage</i>, <i>steven~</i> finds <i>Stephen</i> and <i>Stefan</i> (as well as other similar names).</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<div id="advancedTipsWrapper">
|
|
||||||
<h4><a id="advTipsLink" href="#">Advanced Tips</a></h4>
|
|
||||||
</div>
|
|
||||||
<ul id="advanced" class="searchTips" style="visibility:hidden">
|
|
||||||
<li>When you enter more than one term, search will return results containing all of them unless you add the Boolean "OR" -- e.g., <i>chicken</i> OR <i>egg</i>.</li>
|
|
||||||
<li>NOT" can help limit searches -- e.g., <i>climate</i> NOT <i>change</i>.</li>
|
|
||||||
<li>Phrase searches may be combined with Boolean operators -- e.g. "<i>climate change</i>" OR "<i>global warming</i>".</li>
|
|
||||||
<li>Close word variations will also be found -- e.g., <i>sequence</i> matches <i>sequences</i> and <i>sequencing</i>.</li>
|
|
||||||
<li>Use the wildcard * character to match an even wider variation -- e.g., <i>nano*</i> will match both <i>nanotechnology</i> and <i>nanofabrication</i>.</li>
|
|
||||||
<li>Search uses shortened versions of words -- e.g., a search for <i>cogniti*</i> finds nothing, while <i>cognit*</i> finds both <i>cognitive</i> and <i>cognition</i>.</li>
|
|
||||||
</ul>
|
|
||||||
<a id="closeLink" href="#" style="visibility:hidden;font-size:.825em;padding-left:8px">Close</a>
|
|
||||||
${stylesheets.add('<link rel="stylesheet" href="${urls.base}/css/search.css" />')}
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(document).ready(function(){
|
|
||||||
$('a#advTipsLink').click(function() {
|
|
||||||
$('ul#advanced').css("visibility","visible");
|
|
||||||
$('a#closeLink').css("visibility","visible");
|
|
||||||
$('a#closeLink').click(function() {
|
|
||||||
$('ul#advanced').css("visibility","hidden");
|
|
||||||
$('a#closeLink').css("visibility","hidden");
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
|
|
@ -1,252 +0,0 @@
|
||||||
<#-- $This file is distributed under the terms of the license in LICENSE$ -->
|
|
||||||
|
|
||||||
<#-- Template for displaying paged search results -->
|
|
||||||
|
|
||||||
<h2 class="searchResultsHeader">
|
|
||||||
|
|
||||||
<#include "searchSelector.ftl">
|
|
||||||
|
|
||||||
<#escape x as x?html>
|
|
||||||
<div id='searchQueryResults'> ${i18n().search_results_for} '${querytext}'</div>
|
|
||||||
<div id='limitedToClassGroup'> <#if classGroupName?has_content>${i18n().limited_to_type} '${classGroupName}'</#if> </div>
|
|
||||||
<div id='limitedToType'> <#if typeName?has_content>${i18n().limited_to_type} '${typeName}'</#if> </div>
|
|
||||||
</#escape>
|
|
||||||
<script type="text/javascript">
|
|
||||||
var url = window.location.toString();
|
|
||||||
if (url.indexOf("?") == -1){
|
|
||||||
var queryText = 'querytext=${querytext}';
|
|
||||||
} else {
|
|
||||||
var urlArray = url.split("?");
|
|
||||||
var queryText = urlArray[1];
|
|
||||||
}
|
|
||||||
|
|
||||||
var urlsBase = '${urls.base}';
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<img id="downloadIcon" src="images/download-icon.png" alt="${i18n().download_results}" title="${i18n().download_results}" />
|
|
||||||
<#-- <span id="downloadResults" style="float:left"></span> -->
|
|
||||||
</h2>
|
|
||||||
|
|
||||||
<span id="searchHelp"><a href="${urls.base}/searchHelp" title="${i18n().search_help}">${i18n().not_expected_results}</a></span>
|
|
||||||
<div class="contentsBrowseGroup">
|
|
||||||
|
|
||||||
<#-- Refinement links -->
|
|
||||||
<#if classGroupLinks?has_content && classGroupLinks?size gt 1>
|
|
||||||
<div class="searchTOC">
|
|
||||||
<h4>${i18n().display_only}</h4>
|
|
||||||
<ul>
|
|
||||||
<#list classGroupLinks as link>
|
|
||||||
<li><a href="${link.url}" title="${i18n().class_group_link}">${link.text}</a><span>(${link.count})</span></li>
|
|
||||||
</#list>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</#if>
|
|
||||||
|
|
||||||
<#if classLinks?has_content && classLinks?size gt 1 >
|
|
||||||
<div class="searchTOC">
|
|
||||||
<#if classGroupName?has_content>
|
|
||||||
<h4>${i18n().limit} ${classGroupName} ${i18n().to}</h4>
|
|
||||||
<#else>
|
|
||||||
<h4>${i18n().limit_to}</h4>
|
|
||||||
</#if>
|
|
||||||
<ul>
|
|
||||||
<#list classLinks as link>
|
|
||||||
<li><a href="${link.url}" title="${i18n().class_link}">${link.text}</a><span>(${link.count})</span></li>
|
|
||||||
</#list>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</#if>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="virtualArticleSwitch">
|
|
||||||
<label class="switch">${i18n().show_virtual_article}
|
|
||||||
<input id="virtualArticleCheck" type="checkbox" checked="false" onclick="showVirtualArticles();">
|
|
||||||
</label>
|
|
||||||
<#if user.loggedIn>
|
|
||||||
<button onclick="createNewCompilation()">${i18n().create_compilation_button}</button>
|
|
||||||
</#if>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<#-- Search results -->
|
|
||||||
<ul class="searchhits">
|
|
||||||
<#list individuals as individual>
|
|
||||||
<li>
|
|
||||||
<@shortView uri=individual.uri viewContext="search" />
|
|
||||||
</li>
|
|
||||||
</#list>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
|
|
||||||
<#-- Paging controls -->
|
|
||||||
<#if (pagingLinks?size > 0)>
|
|
||||||
<div class="searchpages">
|
|
||||||
${i18n().pages}:
|
|
||||||
<#if prevPage??><a class="prev" href="${prevPage}" title="${i18n().previous}">${i18n().previous}</a></#if>
|
|
||||||
<#list pagingLinks as link>
|
|
||||||
<#if link.url??>
|
|
||||||
<a href="${link.url}" title="${i18n().page_link}">${link.text}</a>
|
|
||||||
<#else>
|
|
||||||
<span>${link.text}</span> <#-- no link if current page -->
|
|
||||||
</#if>
|
|
||||||
</#list>
|
|
||||||
<#if nextPage??><a class="next" href="${nextPage}" title="${i18n().next_capitalized}">${i18n().next_capitalized}</a></#if>
|
|
||||||
</div>
|
|
||||||
</#if>
|
|
||||||
<br />
|
|
||||||
|
|
||||||
<#-- VIVO OpenSocial Extension by UCSF -->
|
|
||||||
<#if openSocial??>
|
|
||||||
<#if openSocial.visible>
|
|
||||||
<h3>OpenSocial</h3>
|
|
||||||
<script type="text/javascript" language="javascript">
|
|
||||||
// find the 'Search' gadget(s).
|
|
||||||
var searchGadgets = my.findGadgetsAttachingTo("gadgets-search");
|
|
||||||
var keyword = '${querytext}';
|
|
||||||
// add params to these gadgets
|
|
||||||
if (keyword) {
|
|
||||||
for (var i = 0; i < searchGadgets.length; i++) {
|
|
||||||
var searchGadget = searchGadgets[i];
|
|
||||||
searchGadget.additionalParams = searchGadget.additionalParams || {};
|
|
||||||
searchGadget.additionalParams["keyword"] = keyword;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else { // remove these gadgets
|
|
||||||
my.removeGadgets(searchGadgets);
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<div id="gadgets-search" class="gadgets-gadget-parent" style="display:inline-block"></div>
|
|
||||||
</#if>
|
|
||||||
</#if>
|
|
||||||
|
|
||||||
</div> <!-- end contentsBrowseGroup -->
|
|
||||||
|
|
||||||
<script>
|
|
||||||
document.addEventListener('DOMContentLoaded', createVirtualCompilation(), false);
|
|
||||||
|
|
||||||
$('input[type=checkbox]').removeAttr('checked');
|
|
||||||
function showVirtualArticles(){
|
|
||||||
var checkBox = document.getElementById("virtualArticleCheck");
|
|
||||||
if (checkBox.checked == true){
|
|
||||||
$('.searchResult').hide();
|
|
||||||
$('.virtualArticlePart').show();
|
|
||||||
} else {
|
|
||||||
$('.searchResult').show();
|
|
||||||
$('.virtualArticlePart').hide();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function createNewCompilation() {
|
|
||||||
var excerpts = $('.compilationDraftExcerpt').toArray();
|
|
||||||
if (excerpts.length == 0){
|
|
||||||
alert("${i18n().create_compilation_no_excerpts}");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
var compilationName = window.prompt("${i18n().create_compilation_enter_name_notification}");
|
|
||||||
if (!compilationName){
|
|
||||||
alert("${i18n().create_compilation_no_name_entered_error}");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
var iframe = document.createElement("iframe");
|
|
||||||
var excerptsCounter = $('.compilationDraftExcerpt').length;
|
|
||||||
iframe.setAttribute("src", "${urls.base}/editRequestDispatch?typeOfNew=https%3A%2F%2Flitvinovg.pro%2Ftext_structures%23compilation&editForm=edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.CompilationGenerator&excerptsCount=" + excerptsCounter);
|
|
||||||
iframe.style.width = "1px";
|
|
||||||
iframe.style.height = "1px";
|
|
||||||
iframe.id="newCompilationIframe";
|
|
||||||
//iframe.style.display="none";
|
|
||||||
document.body.appendChild(iframe);
|
|
||||||
$('#newCompilationIframe').on('load', function(){
|
|
||||||
fillOutForm(compilationName);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function fillOutForm(compilationName){
|
|
||||||
var iframeDoc = document.getElementById('newCompilationIframe').contentWindow.document;
|
|
||||||
var rules = $('#builder').queryBuilder('getRules', { get_flags: true });
|
|
||||||
var query = format_query_string(rules, "", false);
|
|
||||||
iframeDoc.getElementById('queryBuilderRules').value = JSON.stringify(rules);
|
|
||||||
iframeDoc.getElementById('rawQueryString').value = query;
|
|
||||||
|
|
||||||
|
|
||||||
iframeDoc.getElementById('newCompilationLabel').value = compilationName;
|
|
||||||
var excerpts = $('.compilationDraftExcerpt').toArray();
|
|
||||||
for (i = 0;i < excerpts.length;i++){
|
|
||||||
var excerptUri = excerpts[i].getAttribute('partUri');
|
|
||||||
var excerptName = excerpts[i].getAttribute('partName');
|
|
||||||
var number = i + 1;
|
|
||||||
iframeDoc.getElementById("tocLevel" + number + "Name").value = excerptName + " (" + compilationName + ")";
|
|
||||||
iframeDoc.getElementById("tocItem" + number + "Name").value = excerptName + " (" + compilationName + ")";
|
|
||||||
iframeDoc.getElementById("excerpt" + number).value = excerptUri;
|
|
||||||
}
|
|
||||||
$('#newCompilationIframe').off('load');
|
|
||||||
iframeDoc.getElementById('submit').click();
|
|
||||||
$('#newCompilationIframe').on('load', function(){
|
|
||||||
redirectToNewCompilation();
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
function redirectToNewCompilation(){
|
|
||||||
var newURL = document.getElementById('newCompilationIframe').contentWindow.location.href;
|
|
||||||
window.open(newURL,"_self");
|
|
||||||
}
|
|
||||||
|
|
||||||
function createVirtualCompilation(){
|
|
||||||
let workSet = new Set();
|
|
||||||
let biblioSet = new Set();
|
|
||||||
var workDivs = $('.virtualArticleWork');
|
|
||||||
var biblioDivs = $('.virtualArticleBibliography');
|
|
||||||
biblioDivs.each(function() {
|
|
||||||
biblioSet.add($(this).html());
|
|
||||||
});
|
|
||||||
workDivs.each(function() {
|
|
||||||
workSet.add($(this).html());
|
|
||||||
});
|
|
||||||
var workArr = Array.from(workSet);
|
|
||||||
workArr.sort();
|
|
||||||
var biblioArr = Array.from(biblioSet);
|
|
||||||
biblioArr.sort();
|
|
||||||
if (workArr.length > 0 ) {
|
|
||||||
$('<div class="virtualWorks virtualArticlePart"><button type="button" style="border:none;width: 100%; text-align:left;" class="collapsible">${i18n().sources_excerpt_button_text}</button><div class="virtualWorks"></div></div>').insertAfter($('.virtualArticlePart').last());
|
|
||||||
for (let value of workArr){
|
|
||||||
$('.virtualWorks').last().append( '<div class="work"><p>' + value + '</p></div>' );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (biblioArr.length > 0 ) {
|
|
||||||
$('<div class="virtualBibliography virtualArticlePart"><button type="button" style="border:none;width: 100%; text-align:left;" class="collapsible">${i18n().literature_excerpt_button_text}</button><div class="virtualBibliography"></div></div>').insertAfter($('.virtualArticlePart').last());
|
|
||||||
for (let value of biblioArr){
|
|
||||||
$('.virtualBibliography').last().append( '<div class="bibliography"><p>' + value + '</p></div>' );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$('.virtualWorks').hide();
|
|
||||||
$('.virtualBibliography').hide();
|
|
||||||
$('.virtualArticlePart').hide();
|
|
||||||
var coll = document.getElementsByClassName("collapsible");
|
|
||||||
var i;
|
|
||||||
for (i = 0; i < coll.length; i++) {
|
|
||||||
coll[i].addEventListener("click", function() {
|
|
||||||
this.classList.toggle("active");
|
|
||||||
var content = this.nextElementSibling;
|
|
||||||
if (content.style.display === "block") {
|
|
||||||
content.style.display = "none";
|
|
||||||
} else {
|
|
||||||
content.style.display = "block";
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
createRemoveButtons();
|
|
||||||
}
|
|
||||||
|
|
||||||
</script>
|
|
||||||
|
|
||||||
${stylesheets.add('<link rel="stylesheet" href="//code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />',
|
|
||||||
'<link rel="stylesheet" href="${urls.base}/css/search.css" />',
|
|
||||||
'<link rel="stylesheet" type="text/css" href="${urls.base}/css/jquery_plugins/qtip/jquery.qtip.min.css" />')}
|
|
||||||
|
|
||||||
${headScripts.add('<script src="//code.jquery.com/ui/1.10.3/jquery-ui.js"></script>',
|
|
||||||
'<script type="text/javascript" src="${urls.base}/js/jquery_plugins/qtip/jquery.qtip.min.js"></script>',
|
|
||||||
'<script type="text/javascript" src="${urls.base}/js/tiny_mce/tiny_mce.js"></script>'
|
|
||||||
)}
|
|
||||||
|
|
||||||
${scripts.add('<script type="text/javascript" src="${urls.base}/js/searchDownload.js"></script>')}
|
|
|
@ -7,13 +7,8 @@
|
||||||
<#include "individual-setup.ftl">
|
<#include "individual-setup.ftl">
|
||||||
${scripts.add('<script async type="text/javascript" src="https://d1bxh8uas1mnw7.cloudfront.net/assets/embed.js"></script>')}
|
${scripts.add('<script async type="text/javascript" src="https://d1bxh8uas1mnw7.cloudfront.net/assets/embed.js"></script>')}
|
||||||
${scripts.add('<script async type="text/javascript" src="//cdn.plu.mx/widget-popup.js"></script>')}
|
${scripts.add('<script async type="text/javascript" src="//cdn.plu.mx/widget-popup.js"></script>')}
|
||||||
${scripts.add('<script async type="text/javascript" src="${urls.base}/themes/iph/js/print.js"></script>')}
|
|
||||||
${scripts.add('<script type="text/javascript" src="${urls.base}/themes/iph/js/collapsible_elements.js"></script>')}
|
|
||||||
${scripts.add('<script type="text/javascript" src="${urls.base}/themes/iph/js/toc.js"></script>')}
|
|
||||||
<#import "individual-qrCodeGenerator.ftl" as qr>
|
<#import "individual-qrCodeGenerator.ftl" as qr>
|
||||||
<#import "lib-vivo-properties.ftl" as vp>
|
<#import "lib-vivo-properties.ftl" as vp>
|
||||||
<#include "text-lib.ftl">
|
|
||||||
|
|
||||||
<#--Number of labels present-->
|
<#--Number of labels present-->
|
||||||
<#if !labelCount??>
|
<#if !labelCount??>
|
||||||
<#assign labelCount = 0 >
|
<#assign labelCount = 0 >
|
||||||
|
@ -34,8 +29,6 @@ ${scripts.add('<script type="text/javascript" src="${urls.base}/themes/iph/js/to
|
||||||
<section id="individual-info" ${infoClass!} role="region" style="width: 100%;">
|
<section id="individual-info" ${infoClass!} role="region" style="width: 100%;">
|
||||||
<#include "individual-adminPanel.ftl">
|
<#include "individual-adminPanel.ftl">
|
||||||
<header>
|
<header>
|
||||||
<div id="articleHeaderWrapper">
|
|
||||||
<div id="articleTitleWrapper">
|
|
||||||
<#if relatedSubject??>
|
<#if relatedSubject??>
|
||||||
<h2>${relatedSubject.relatingPredicateDomainPublic} ${i18n().for} ${relatedSubject.name}</h2>
|
<h2>${relatedSubject.relatingPredicateDomainPublic} ${i18n().for} ${relatedSubject.name}</h2>
|
||||||
<p><a href="${relatedSubject.url}" title="${i18n().return_to(relatedSubject.name)}">← ${i18n().return_to(relatedSubject.name)}</a></p>
|
<p><a href="${relatedSubject.url}" title="${i18n().return_to(relatedSubject.name)}">← ${i18n().return_to(relatedSubject.name)}</a></p>
|
||||||
|
@ -43,9 +36,6 @@ ${scripts.add('<script type="text/javascript" src="${urls.base}/themes/iph/js/to
|
||||||
<h1 itemprop="name" class="vcard foaf-person fn" <#if !editable>style="float:left;border-right:1px solid #A6B1B0;"</#if>>
|
<h1 itemprop="name" class="vcard foaf-person fn" <#if !editable>style="float:left;border-right:1px solid #A6B1B0;"</#if>>
|
||||||
<#-- Label -->
|
<#-- Label -->
|
||||||
<@p.label individual editable labelCount localesCount/>
|
<@p.label individual editable labelCount localesCount/>
|
||||||
<#if editable>
|
|
||||||
<@p.deleteIndividualLink individual />
|
|
||||||
</#if>
|
|
||||||
</h1>
|
</h1>
|
||||||
<#-- Display preferredTitle if it exists; otherwise mostSpecificTypes -->
|
<#-- Display preferredTitle if it exists; otherwise mostSpecificTypes -->
|
||||||
<#assign title = propertyGroups.pullProperty("http://purl.obolibrary.org/obo/ARG_2000028","http://www.w3.org/2006/vcard/ns#Title")!>
|
<#assign title = propertyGroups.pullProperty("http://purl.obolibrary.org/obo/ARG_2000028","http://www.w3.org/2006/vcard/ns#Title")!>
|
||||||
|
@ -70,32 +60,19 @@ ${scripts.add('<script type="text/javascript" src="${urls.base}/themes/iph/js/to
|
||||||
<@p.mostSpecificTypesPerson individual editable/>
|
<@p.mostSpecificTypesPerson individual editable/>
|
||||||
</#if>
|
</#if>
|
||||||
</#if>
|
</#if>
|
||||||
</div>
|
<span id="iconControlsRightSide" class="<#if editable>iconControlsEditable<#else>iconControlsNotEditable</#if>" <#if !user.hasSiteAdminAccess>style="top:5px"</#if>>
|
||||||
<div class="articleToolsContainer">
|
<#include "individual-iconControls.ftl">
|
||||||
<div class="metadataSwitch">
|
</span>
|
||||||
<@expandMetadataSwitch />
|
<#if editable && profilePageTypesEnabled >
|
||||||
</div>
|
<#include "individual-profilePageTypes.ftl">
|
||||||
<div class="toolsWrapper">
|
</#if>
|
||||||
<div class="articleButtons">
|
|
||||||
<span id="iconControlsRightSide" class="<#if editable>iconControlsEditable<#else>iconControlsNotEditable</#if>" <#if !user.hasSiteAdminAccess></#if>>
|
|
||||||
<#include "individual-iconControls-iph.ftl">
|
|
||||||
</span>
|
|
||||||
|
|
||||||
<#if editable && profilePageTypesEnabled >
|
|
||||||
<#include "individual-profilePageTypes.ftl">
|
|
||||||
</#if>
|
|
||||||
<@userSettingsModal />
|
|
||||||
<button id="print"><img onclick="javascript:printPageContent();" src="${urls.base}/themes/iph/images/print.svg"></button>
|
|
||||||
</div>
|
|
||||||
<@expandSwitch />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</header>
|
</header>
|
||||||
<!-- Positions -->
|
<!-- Positions -->
|
||||||
<#include "individual-positions.ftl">
|
<#include "individual-positions.ftl">
|
||||||
|
|
||||||
<!-- Overview -->
|
<!-- Overview -->
|
||||||
<#if !editable>
|
<#if !editable>
|
||||||
|
<p></p>
|
||||||
</#if>
|
</#if>
|
||||||
<#include "individual-overview.ftl">
|
<#include "individual-overview.ftl">
|
||||||
|
|
||||||
|
@ -115,48 +92,127 @@ ${scripts.add('<script type="text/javascript" src="${urls.base}/themes/iph/js/to
|
||||||
<#assign skipThis = propertyGroups.pullProperty("http://xmlns.com/foaf/0.1/firstName")!>
|
<#assign skipThis = propertyGroups.pullProperty("http://xmlns.com/foaf/0.1/firstName")!>
|
||||||
<#assign skipThis = propertyGroups.pullProperty("http://xmlns.com/foaf/0.1/lastName")!>
|
<#assign skipThis = propertyGroups.pullProperty("http://xmlns.com/foaf/0.1/lastName")!>
|
||||||
</#if>
|
</#if>
|
||||||
|
<#--
|
||||||
<#assign rawQuery = propertyGroups.pullProperty("https://litvinovg.pro/text_structures#rawQueryString")!>
|
<#assign issue = propertyGroups.pullProperty("https://litvinovg.pro/text_structures#issue")!>
|
||||||
<#assign queryBuilderRules = propertyGroups.pullProperty("https://litvinovg.pro/text_structures#queryBuilderRules")!>
|
<#if issue.statements?has_content && issue.type == "data">
|
||||||
|
<div class="issue" style="list-style:none;">
|
||||||
<#if rawQuery?has_content && queryBuilderRules?has_content>
|
<div class="label">Выпуск</div>
|
||||||
<#list queryBuilderRules.statements as statement>
|
<@p.dataPropertyList issue editable />
|
||||||
<#assign queryBuilderRulesString = statement.value!>
|
|
||||||
</#list>
|
|
||||||
<#list rawQuery.statements as statement>
|
|
||||||
<#assign rawQueryString = statement.value!>
|
|
||||||
</#list>
|
|
||||||
<#if queryBuilderRulesString?? && rawQueryString??>
|
|
||||||
<form action="${urls.base}/customsearch" method="post">
|
|
||||||
<input type="hidden" id="queryBuilderRules" name="queryBuilderRules" value='${queryBuilderRulesString}' />
|
|
||||||
<input type="hidden" id="querytext" name="querytext" value='${rawQueryString}' />
|
|
||||||
<input type="submit" id="submit" value="${i18n().metadata_query}"/>
|
|
||||||
</form>
|
|
||||||
</#if>
|
|
||||||
|
|
||||||
</#if>
|
|
||||||
<div class="metaDataName collapsible collapsed">
|
|
||||||
<div class="collapsibleLink" style="display:inline;">${i18n().metadata_label}</div>
|
|
||||||
</div>
|
|
||||||
<div class="autoMetadataExpand" style="display:none;">
|
|
||||||
<#assign firstPub = propertyGroups.pullProperty("https://litvinovg.pro/text_structures#firstPublication")!>
|
|
||||||
<#if firstPub.statements?has_content && firstPub.type == "data">
|
|
||||||
<div class="firstPub" style="list-style:none;">
|
|
||||||
<div class="label">${i18n().metadata_firstPublication}
|
|
||||||
</div>
|
</div>
|
||||||
<@p.dataPropertyList firstPub editable />
|
|
||||||
</div>
|
|
||||||
</#if>
|
</#if>
|
||||||
|
|
||||||
<@authors_metadata />
|
<#assign year = propertyGroups.pullProperty("https://litvinovg.pro/text_structures#year")!>
|
||||||
|
<#if year.statements?has_content && year.type == "data">
|
||||||
|
<div class="year" style="list-style:none;">
|
||||||
|
<div class="label">Год</div>
|
||||||
|
<@p.dataPropertyList year editable />
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
|
-->
|
||||||
|
<#if rubrics?? && rubrics?has_content>
|
||||||
|
<div class="label">Относится к рубрикам:</div>
|
||||||
|
<#list rubrics as rubric>
|
||||||
|
<li role="listitem" style="list-style:none;">
|
||||||
|
<a href="${urls.base}/individual?uri=${rubric.rubricID?url}"">${rubric.rubricName}</a>
|
||||||
|
</li>
|
||||||
|
</#list>
|
||||||
|
<br/>
|
||||||
|
</#if>
|
||||||
|
|
||||||
<@documentRubrics />
|
|
||||||
|
<div class="articleParts" style="display:block;">
|
||||||
|
<#list paths as order>
|
||||||
|
<div class = "articleExcerpt">
|
||||||
|
<#-- ${order.path} -->
|
||||||
|
<#list excerpts as excerptProperties>
|
||||||
|
|
||||||
|
<#if order.elenphExcerpt?has_content && excerptProperties.elenphExcerpt == order.elenphExcerpt>
|
||||||
|
<#if excerptProperties.property == "https://litvinovg.pro/text_structures#htmlExcerpt">
|
||||||
|
<#assign excerptText = excerptProperties.value >
|
||||||
|
</#if>
|
||||||
|
<#if excerptProperties.property == "http://www.w3.org/2000/01/rdf-schema#label">
|
||||||
|
<#assign excerptTextName = excerptProperties.value >
|
||||||
|
</#if>
|
||||||
|
</#if>
|
||||||
|
</#list>
|
||||||
|
<#if excerptText?? && excerptTextName?? && excerptTextName?has_content && excerptText?has_content>
|
||||||
|
<button type="button" style="border:none;padding: 18px;width: 100%; text-align:left;" class="collapsible">${excerptTextName}</button>
|
||||||
|
<div class="htmlExcerpt" style="list-style:none; display:none;">
|
||||||
|
${excerptText}
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
|
</div> <#-- articleExcerpt -->
|
||||||
|
|
||||||
|
</#list>
|
||||||
</div>
|
</div>
|
||||||
|
<#-- <@dump var="works" /> -->
|
||||||
|
<#if works??>
|
||||||
|
<#assign no_works = true>
|
||||||
|
<#list works as work>
|
||||||
|
<#if no_works>
|
||||||
|
<button type="button" class="collapsible" style="border:none;padding: 18px;width: 100%;text-align:left;">Работы</button>
|
||||||
|
<div class="works" style="display:none;">
|
||||||
|
<#assign no_works = false>
|
||||||
|
</#if>
|
||||||
|
<div class="work" style="list-style:none;">
|
||||||
|
<p> ${work.works} </p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</#list>
|
||||||
|
<#if !no_works>
|
||||||
|
</div> <#-- works class-->
|
||||||
|
</#if>
|
||||||
|
</#if>
|
||||||
|
|
||||||
<@arrangeDocumentParts />
|
<#if bibliography??>
|
||||||
|
<#assign no_bibliography = true>
|
||||||
|
<#list bibliography as one_bibliography>
|
||||||
|
<#if no_bibliography>
|
||||||
|
<button type="button" class="collapsible" style="border:none;padding: 18px;width: 100%; text-align: left;">Литература</button>
|
||||||
|
<div class="bibliography" style="display:none;">
|
||||||
|
<#assign no_bibliography = false>
|
||||||
|
</#if>
|
||||||
|
<div class="bibliography_entry" style="list-style:none;">
|
||||||
|
<p> ${one_bibliography.bibliography} </p>
|
||||||
|
</div>
|
||||||
|
|
||||||
<@authors_underline />
|
|
||||||
|
|
||||||
|
</#list>
|
||||||
|
<#if !no_bibliography>
|
||||||
|
</div> <#-- bibliography class-->
|
||||||
|
</#if>
|
||||||
|
</#if>
|
||||||
|
|
||||||
|
<#if authors??>
|
||||||
|
<#assign no_authors = true>
|
||||||
|
<#list authors as author>
|
||||||
|
<#if no_authors>
|
||||||
|
<div class="authors" style="display:block;float:right; margin:15px;">
|
||||||
|
<#assign no_authors = false>
|
||||||
|
<#else>
|
||||||
|
", "
|
||||||
|
</#if>
|
||||||
|
${author.author}
|
||||||
|
</#list>
|
||||||
|
</div> <#-- authors class-->
|
||||||
|
</#if>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
var coll = document.getElementsByClassName("collapsible");
|
||||||
|
var i;
|
||||||
|
|
||||||
|
for (i = 0; i < coll.length; i++) {
|
||||||
|
coll[i].addEventListener("click", function() {
|
||||||
|
this.classList.toggle("active");
|
||||||
|
var content = this.nextElementSibling;
|
||||||
|
if (content.style.display === "block") {
|
||||||
|
content.style.display = "none";
|
||||||
|
} else {
|
||||||
|
content.style.display = "block";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
</script>
|
||||||
<#-- <@dumpAll /> -->
|
<#-- <@dumpAll /> -->
|
||||||
|
|
||||||
<#assign selectedTemplate = "individual--foaf-person-2column.ftl" >
|
<#assign selectedTemplate = "individual--foaf-person-2column.ftl" >
|
||||||
|
@ -183,7 +239,6 @@ ${scripts.add('<script type="text/javascript" src="${urls.base}/themes/iph/js/to
|
||||||
</a>
|
</a>
|
||||||
</span>
|
</span>
|
||||||
</#if>
|
</#if>
|
||||||
|
|
||||||
<#if !editable>
|
<#if !editable>
|
||||||
<script>
|
<script>
|
||||||
var title = $('div#titleContainer').width();
|
var title = $('div#titleContainer').width();
|
|
@ -1,23 +1,12 @@
|
||||||
<#include "individual-setup.ftl">
|
<#-- $This file is distributed under the terms of the license in LICENSE$ -->
|
||||||
|
|
||||||
${scripts.add('<script async type="text/javascript" src="https://d1bxh8uas1mnw7.cloudfront.net/assets/embed.js"></script>')}
|
|
||||||
${scripts.add('<script async type="text/javascript" src="//cdn.plu.mx/widget-popup.js"></script>')}
|
|
||||||
${scripts.add('<script async type="text/javascript" src="${urls.base}/themes/iph/js/print.js"></script>')}
|
|
||||||
${scripts.add('<script type="text/javascript" src="${urls.base}/themes/iph/js/collapsible_elements.js"></script>')}
|
|
||||||
${scripts.add('<script type="text/javascript" src="${urls.base}/themes/iph/js/toc.js"></script>')}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<#-- Individual profile page template for foaf:Person individuals -->
|
<#-- Individual profile page template for foaf:Person individuals -->
|
||||||
|
|
||||||
<!--[if IE 7]>
|
<!--[if IE 7]>
|
||||||
<link rel="stylesheet" href="${urls.base}/css/individual/ie7-standard-view.css" />
|
<link rel="stylesheet" href="${urls.base}/css/individual/ie7-standard-view.css" />
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
<#-- <#include "individual-setup.ftl"> -->
|
<#-- <#include "individual-setup.ftl"> -->
|
||||||
<#import "individual-qrCodeGenerator.ftl" as qr>
|
<#import "individual-qrCodeGenerator.ftl" as qr>
|
||||||
<#import "lib-vivo-properties.ftl" as vp>
|
<#import "lib-vivo-properties.ftl" as vp>
|
||||||
<#include "text-lib.ftl">
|
|
||||||
|
|
||||||
<#--Number of labels present-->
|
<#--Number of labels present-->
|
||||||
<#if !labelCount??>
|
<#if !labelCount??>
|
||||||
<#assign labelCount = 0 >
|
<#assign labelCount = 0 >
|
||||||
|
@ -38,8 +27,6 @@ ${scripts.add('<script type="text/javascript" src="${urls.base}/themes/iph/js/to
|
||||||
<section id="individual-info" ${infoClass!} role="region" style="width: 100%;">
|
<section id="individual-info" ${infoClass!} role="region" style="width: 100%;">
|
||||||
<#include "individual-adminPanel.ftl">
|
<#include "individual-adminPanel.ftl">
|
||||||
<header>
|
<header>
|
||||||
<div id="articleHeaderWrapper">
|
|
||||||
<div id="articleTitleWrapper">
|
|
||||||
<#if relatedSubject??>
|
<#if relatedSubject??>
|
||||||
<h2>${relatedSubject.relatingPredicateDomainPublic} ${i18n().for} ${relatedSubject.name}</h2>
|
<h2>${relatedSubject.relatingPredicateDomainPublic} ${i18n().for} ${relatedSubject.name}</h2>
|
||||||
<p><a href="${relatedSubject.url}" title="${i18n().return_to(relatedSubject.name)}">← ${i18n().return_to(relatedSubject.name)}</a></p>
|
<p><a href="${relatedSubject.url}" title="${i18n().return_to(relatedSubject.name)}">← ${i18n().return_to(relatedSubject.name)}</a></p>
|
||||||
|
@ -71,31 +58,20 @@ ${scripts.add('<script type="text/javascript" src="${urls.base}/themes/iph/js/to
|
||||||
<@p.mostSpecificTypesPerson individual editable/>
|
<@p.mostSpecificTypesPerson individual editable/>
|
||||||
</#if>
|
</#if>
|
||||||
</#if>
|
</#if>
|
||||||
</div>
|
<span id="iconControlsRightSide" class="<#if editable>iconControlsEditable<#else>iconControlsNotEditable</#if>" <#if !user.hasSiteAdminAccess>style="top:5px"</#if>>
|
||||||
<div class="articleToolsContainer">
|
<#include "individual-iconControls.ftl">
|
||||||
<div class="metadataSwitch">
|
</span>
|
||||||
<@expandMetadataSwitch />
|
<#if editable && profilePageTypesEnabled >
|
||||||
</div>
|
<#include "individual-profilePageTypes.ftl">
|
||||||
<div class="toolsWrapper">
|
</#if>
|
||||||
<div class="articleButtons">
|
|
||||||
<span id="iconControlsRightSide" class="<#if editable>iconControlsEditable<#else>iconControlsNotEditable</#if>" <#if !user.hasSiteAdminAccess></#if>>
|
|
||||||
<#include "individual-iconControls-iph.ftl">
|
|
||||||
</span>
|
|
||||||
<#if editable && profilePageTypesEnabled >
|
|
||||||
<#include "individual-profilePageTypes.ftl">
|
|
||||||
</#if>
|
|
||||||
<@userSettingsModal />
|
|
||||||
<button id="print"><img onclick="javascript:printPageContent();" src="${urls.base}/themes/iph/images/print.svg"></button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</header>
|
</header>
|
||||||
<!-- Positions -->
|
<!-- Positions -->
|
||||||
<#include "individual-positions.ftl">
|
<#include "individual-positions.ftl">
|
||||||
|
|
||||||
<!-- Overview -->
|
<!-- Overview -->
|
||||||
<#if !editable>
|
<#if !editable>
|
||||||
</#if>
|
<p></p>
|
||||||
|
</#if>
|
||||||
<#include "individual-overview.ftl">
|
<#include "individual-overview.ftl">
|
||||||
|
|
||||||
<!-- Research Areas -->
|
<!-- Research Areas -->
|
||||||
|
@ -114,77 +90,54 @@ ${scripts.add('<script type="text/javascript" src="${urls.base}/themes/iph/js/to
|
||||||
<#assign skipThis = propertyGroups.pullProperty("http://xmlns.com/foaf/0.1/firstName")!>
|
<#assign skipThis = propertyGroups.pullProperty("http://xmlns.com/foaf/0.1/firstName")!>
|
||||||
<#assign skipThis = propertyGroups.pullProperty("http://xmlns.com/foaf/0.1/lastName")!>
|
<#assign skipThis = propertyGroups.pullProperty("http://xmlns.com/foaf/0.1/lastName")!>
|
||||||
</#if>
|
</#if>
|
||||||
<div class="metaDataName collapsible collapsed">
|
|
||||||
<div class="collapsibleLink" style="display:inline;">${i18n().metadata_label}</div>
|
|
||||||
</div>
|
|
||||||
<div class="autoMetadataExpand" style="display:none;">
|
|
||||||
<#if !editable>
|
|
||||||
<@authors_metadata />
|
|
||||||
<#else>
|
|
||||||
<#assign pubAuthors = propertyGroups.pullProperty("https://litvinovg.pro/text_structures#hasAuthor")!>
|
|
||||||
<#if pubAuthors?has_content>
|
|
||||||
<div class="
|
|
||||||
<#if pubAuthors.statements?has_content >
|
|
||||||
collapsible collapsed
|
|
||||||
<#else>
|
|
||||||
nonePubAuthors
|
|
||||||
</#if>
|
|
||||||
">
|
|
||||||
<div class="collapsibleLink" style="display:inline;">${i18n().metadata_authors} <@p.addLink pubAuthors editable /> <@p.verboseDisplay pubAuthors /></div>
|
|
||||||
</div>
|
|
||||||
<div class="expandedAuthors autoMetadataExpand" style="display:none;">
|
|
||||||
<#if pubAuthors.statements?has_content >
|
|
||||||
<div class="pubAuthors" style="list-style:none;">
|
|
||||||
<@p.objectProperty pubAuthors editable />
|
|
||||||
</div>
|
|
||||||
</#if>
|
|
||||||
</div>
|
|
||||||
</#if>
|
|
||||||
</#if>
|
|
||||||
|
|
||||||
<#if articles?has_content>
|
<#if articles?has_content>
|
||||||
<div class="collapsible collapsed">
|
<div class="label">В составе статей: </div>
|
||||||
<div class="collapsibleLink" style="display:inline;">${i18n().metadata_in_articles}</div>
|
<div>
|
||||||
</div>
|
<#list articles as article>
|
||||||
<div class="expandedArticles autoMetadataExpand" style="display:none;">
|
<#if article?has_content >
|
||||||
<#list articles as article>
|
<div style="list-style:none;border:none;width: 100%;text-align:left;" class="article">
|
||||||
<#if article?has_content >
|
<a href="${urls.base}/individual?uri=${article.articleUri?url}"">${article.articleName}</a>
|
||||||
<div class="articleList" style="list-style:none;">
|
</div>
|
||||||
<a href="${urls.base}/individual?uri=${article.articleUri?url}">${article.articleName}</a>
|
</#if>
|
||||||
</div>
|
</#list>
|
||||||
</#if>
|
|
||||||
</#list>
|
|
||||||
</div>
|
</div>
|
||||||
</#if>
|
</#if>
|
||||||
|
|
||||||
|
<#assign author = propertyGroups.pullProperty("https://litvinovg.pro/text_structures#author")!>
|
||||||
|
<#if author?has_content >
|
||||||
|
<div class="label">Авторы: <@p.addLink author editable /> <@p.verboseDisplay author /> </div>
|
||||||
|
<#if author.statements?has_content && author.type == "data">
|
||||||
|
<div class="author" style="list-style:none;">
|
||||||
|
<@p.dataPropertyList author editable />
|
||||||
|
</#if>
|
||||||
|
</#if>
|
||||||
|
<#assign affiliation = propertyGroups.pullProperty("https://litvinovg.pro/text_structures#affiliation")!>
|
||||||
|
<#if affiliation.statements?has_content && affiliation.type == "data">
|
||||||
|
<div class="affiliation" style="list-style:none;">
|
||||||
|
<div class="label">Аффилиация</div>
|
||||||
|
<@p.dataPropertyList affiliation editable />
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
|
|
||||||
<#assign rubrics = propertyGroups.pullProperty("https://iph.ras.ru/relationships#belongsTo")!>
|
<#assign rubrics = propertyGroups.pullProperty("https://iph.ras.ru/relationships#belongsTo")!>
|
||||||
<#if rubrics?has_content>
|
<#if rubrics?has_content>
|
||||||
<div class="collapsible collapsed">
|
<div class="label">Относится к: <@p.addLink rubrics editable /> <@p.verboseDisplay rubrics /> </div>
|
||||||
<div class="collapsibleLink" style="display:inline;">${i18n().metadata_relates_to_rubrics} <@p.addLink rubrics editable /> <@p.verboseDisplay rubrics /></div>
|
|
||||||
</div>
|
|
||||||
<div class="expandedRubrics autoMetadataExpand" style="display:none;">
|
|
||||||
<#if rubrics.statements?has_content >
|
<#if rubrics.statements?has_content >
|
||||||
<div class="rubricsList" style="list-style:none;">
|
<div class="rubrics" style="list-style:none;">
|
||||||
<@p.objectProperty rubrics editable />
|
<@p.objectProperty rubrics editable />
|
||||||
</div>
|
</div>
|
||||||
</#if>
|
</#if>
|
||||||
</div>
|
|
||||||
</#if>
|
</#if>
|
||||||
|
|
||||||
<#assign keywords = propertyGroups.pullProperty("https://litvinovg.pro/text_structures#keywords")!>
|
<#assign keywords = propertyGroups.pullProperty("https://litvinovg.pro/text_structures#keywords")!>
|
||||||
<#if keywords?has_content >
|
<#if keywords?has_content >
|
||||||
<div class="collapsible collapsed">
|
<div class="label">Ключевые слова: <@p.addLink keywords editable /> <@p.verboseDisplay keywords /> </div>
|
||||||
<div class="collapsibleLink" style="display:inline;">${i18n().metadata_keywords} <@p.addLink keywords editable /> <@p.verboseDisplay keywords /></div>
|
<#if keywords.statements?has_content && keywords.type == "data">
|
||||||
</div>
|
<div class="keywords" style="list-style:none;">
|
||||||
<div class="expandedKeywords autoMetadataExpand" style="display:none;">
|
<@p.dataPropertyList keywords editable />
|
||||||
<div class="wrapperExpandedKeywords">
|
</div>
|
||||||
<#if keywords.statements?has_content && keywords.type == "data">
|
</#if>
|
||||||
<@p.dataPropertyList keywords editable />
|
|
||||||
</#if>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</#if>
|
</#if>
|
||||||
</div>
|
|
||||||
<#assign htmlExcerpt = propertyGroups.pullProperty("https://litvinovg.pro/text_structures#htmlExcerpt")!>
|
<#assign htmlExcerpt = propertyGroups.pullProperty("https://litvinovg.pro/text_structures#htmlExcerpt")!>
|
||||||
<#if htmlExcerpt?has_content >
|
<#if htmlExcerpt?has_content >
|
||||||
<#if htmlExcerpt.statements?has_content && htmlExcerpt.type == "data">
|
<#if htmlExcerpt.statements?has_content && htmlExcerpt.type == "data">
|
||||||
|
@ -193,22 +146,24 @@ ${scripts.add('<script type="text/javascript" src="${urls.base}/themes/iph/js/to
|
||||||
<#-- object property -->
|
<#-- object property -->
|
||||||
</div>
|
</div>
|
||||||
<#else>
|
<#else>
|
||||||
<div class="label">${i18n().metadata_html_text} <@p.addLink htmlExcerpt editable /> <@p.verboseDisplay htmlExcerpt /> </div>
|
<div class="label">Текст отрывка: <@p.addLink htmlExcerpt editable /> <@p.verboseDisplay htmlExcerpt /> </div>
|
||||||
</#if>
|
</#if>
|
||||||
</#if>
|
</#if>
|
||||||
|
|
||||||
<#assign works = propertyGroups.pullProperty("https://litvinovg.pro/text_structures#works")!>
|
<#assign works = propertyGroups.pullProperty("https://litvinovg.pro/text_structures#works")!>
|
||||||
<#if works.statements?has_content || editable >
|
<#if works.statements?has_content && works.type == "data">
|
||||||
|
<br/>
|
||||||
<div class="works" style="list-style:none;">
|
<div class="works" style="list-style:none;">
|
||||||
<h2 class="label">${i18n().sources_excerpt_button_text} <@p.addLink works editable /> <@p.verboseDisplay works /></h2>
|
<h2 class="label">Работы:</h2>
|
||||||
<@p.dataPropertyList works editable />
|
<@p.dataPropertyList works editable />
|
||||||
</div>
|
</div>
|
||||||
</#if>
|
</#if>
|
||||||
|
|
||||||
<#assign biblio= propertyGroups.pullProperty("https://litvinovg.pro/text_structures#bibliography")!>
|
<#assign biblio= propertyGroups.pullProperty("https://litvinovg.pro/text_structures#bibliography")!>
|
||||||
<#if biblio.statements?has_content || editable >
|
<#if biblio.statements?has_content && biblio.type == "data">
|
||||||
|
<br/>
|
||||||
<div class="biblio" style="list-style:none;">
|
<div class="biblio" style="list-style:none;">
|
||||||
<h2 class="label">${i18n().literature_excerpt_button_text} <@p.addLink biblio editable /> <@p.verboseDisplay biblio /></h2>
|
<h2 class="label">Литература:</h2>
|
||||||
<@p.dataPropertyList biblio editable />
|
<@p.dataPropertyList biblio editable />
|
||||||
</div>
|
</div>
|
||||||
</#if>
|
</#if>
|
|
@ -0,0 +1,42 @@
|
||||||
|
<#-- $This file is distributed under the terms of the license in LICENSE$ -->
|
||||||
|
|
||||||
|
<#--
|
||||||
|
|
||||||
|
This version of individual--foaf-person.ftl is a "router" template. The original VIVO
|
||||||
|
version of this template now resides in the /themes/wilma/templates directory.
|
||||||
|
|
||||||
|
This version of the template is used when the profile page types feature is enabled.
|
||||||
|
This template serves to "rout" the user to the correct template based (1) the
|
||||||
|
profile page type of the foaf person being displayed or (2) the targeted view that
|
||||||
|
the user wants to see. For example, when a user is routed to a quick view template,
|
||||||
|
the user has the option of displaying the full view. If the user chooses that option,
|
||||||
|
the targetedView variable gets set.
|
||||||
|
|
||||||
|
This template could also be used to load just the "individual--foaf-person-2column.ftl"
|
||||||
|
without enabling profile page types. "individual--foaf-person-2column.ftl" is a slightly
|
||||||
|
different design than the "individual--foaf-person.ftl" template in the themes/wilma
|
||||||
|
directory.
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<#include "individual-setup.ftl">
|
||||||
|
|
||||||
|
${scripts.add('<script async type="text/javascript" src="https://d1bxh8uas1mnw7.cloudfront.net/assets/embed.js"></script>')}
|
||||||
|
${scripts.add('<script async type="text/javascript" src="//cdn.plu.mx/widget-popup.js"></script>')}
|
||||||
|
|
||||||
|
<#assign selectedTemplate = "elenphExcerpt-internal.ftl" >
|
||||||
|
|
||||||
|
<#if profilePageTypesEnabled >
|
||||||
|
<#assign profilePageType = profileType >
|
||||||
|
|
||||||
|
<#-- targetedView takes precedence over the profilePageType. -->
|
||||||
|
|
||||||
|
<#if targetedView?has_content>
|
||||||
|
<#if targetedView != "standardView">
|
||||||
|
<#assign selectedTemplate = "individual--foaf-person-quickview.ftl" >
|
||||||
|
</#if>
|
||||||
|
<#elseif profilePageType == "quickView" >
|
||||||
|
<#assign selectedTemplate = "individual--foaf-person-quickview.ftl" >
|
||||||
|
</#if>
|
||||||
|
</#if>
|
||||||
|
<#include selectedTemplate >
|
|
@ -4,6 +4,7 @@
|
||||||
<#import "lib-vivo-properties.ftl" as p>
|
<#import "lib-vivo-properties.ftl" as p>
|
||||||
|
|
||||||
<#-- <@dumpAll /> -->
|
<#-- <@dumpAll /> -->
|
||||||
|
<div class="virtualArticlePart" style="display:none;">
|
||||||
<#list excerptInfo as excerptProperties>
|
<#list excerptInfo as excerptProperties>
|
||||||
<#if excerptProperties.property == "https://litvinovg.pro/text_structures#htmlExcerpt">
|
<#if excerptProperties.property == "https://litvinovg.pro/text_structures#htmlExcerpt">
|
||||||
<#assign excerptText = excerptProperties.value >
|
<#assign excerptText = excerptProperties.value >
|
||||||
|
@ -16,8 +17,7 @@
|
||||||
</#if>
|
</#if>
|
||||||
</#list>
|
</#list>
|
||||||
<#if excerptText?? && excerptTextName?? && excerptTextName?has_content && excerptText?has_content>
|
<#if excerptText?? && excerptTextName?? && excerptTextName?has_content && excerptText?has_content>
|
||||||
<div class="virtualArticlePart compilationDraftExcerpt" partUri="${individual.uri}" partName="${excerptTextName}" style="display:none;">
|
<button type="button" style="border:none;padding: 18px;width: 100%; text-align:left;" class="collapsible">${excerptTextName}</button>
|
||||||
<button type="button" style="border:none;width: 100%; text-align:left;" class="collapsible">${excerptTextName}</button>
|
|
||||||
<div class="htmlExcerpt" style="list-style:none; display:none;">
|
<div class="htmlExcerpt" style="list-style:none; display:none;">
|
||||||
${excerptText}
|
${excerptText}
|
||||||
<#if excerptAuthor?? && excerptAuthor?has_content>
|
<#if excerptAuthor?? && excerptAuthor?has_content>
|
||||||
|
@ -38,10 +38,10 @@
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</#if>
|
</#if>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="searchResult">
|
<div class="excerptSearchResult">
|
||||||
<a href="${individual.profileUrl}" title="${i18n().individual_name}">${individual.name}</a>
|
<a href="${individual.profileUrl}" title="${i18n().individual_name}">${individual.name}</a>
|
||||||
<@p.displayTitle individual />
|
<@p.displayTitle individual />
|
||||||
<p class="snippet">${individual.snippet}</p>
|
<p class="snippet">${individual.snippet}</p>
|
|
@ -5,17 +5,17 @@
|
||||||
<#if !issueName??>
|
<#if !issueName??>
|
||||||
<#assign issueName = article.issue>
|
<#assign issueName = article.issue>
|
||||||
<#assign divOpened = true >
|
<#assign divOpened = true >
|
||||||
<button type="button" style="border:none;padding: 18px;width: 100%; text-align:left;" class="collapsible active">${issueName}</button>
|
<button type="button" style="border:none;padding: 18px;width: 100%; text-align:left;" class="collapsible">${issueName}</button>
|
||||||
<div class="issue" style="list-style:none; padding: 18px;">
|
<div clas="issue" style="list-style:none; display:none; padding: 18px;">
|
||||||
<p><a href="${urls.base}/individual?uri=${article.uri?url}">${article.name}</a></p>
|
<p><a href="/vivo/individual?uri=${article.uri?url}">${article.name}</a></p>
|
||||||
<#elseif issueName == article.issue>
|
<#elseif issueName == article.issue>
|
||||||
<p><a href="${urls.base}/individual?uri=${article.uri?url}">${article.name}</a></p>
|
<p><a href="/vivo/individual?uri=${article.uri?url}">${article.name}</a></p>
|
||||||
<#else>
|
<#else>
|
||||||
<#assign issueName = article.issue>
|
<#assign issueName = article.issue>
|
||||||
</div>
|
</div>
|
||||||
<button type="button" style="border:none;padding: 18px;width: 100%; text-align:left;" class="collapsible active">${issueName}</button>
|
<button type="button" style="border:none;padding: 18px;width: 100%; text-align:left;" class="collapsible">${issueName}</button>
|
||||||
<div class="issue" style="list-style:none; padding: 18px;">
|
<div clas="issue" style="list-style:none; display:none;padding: 18px;">
|
||||||
<p><a href="${urls.base}/individual?uri=${article.uri?url}">${article.name}</a></p>
|
<p><a href="/vivo/individual?uri=${article.uri?url}">${article.name}</a></p>
|
||||||
</#if>
|
</#if>
|
||||||
</#list>
|
</#list>
|
||||||
<#if divOpened>
|
<#if divOpened>
|
||||||
|
@ -38,8 +38,4 @@ for (i = 0; i < coll.length; i++) {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
var issueContents = document.getElementsByClassName("issue");
|
|
||||||
for (i = 0; i < issueContents.length; i++) {
|
|
||||||
issueContents[i].style.display = "none";
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
|
@ -1,20 +1,16 @@
|
||||||
<#import "lib-vivo-properties.ftl" as vp>
|
<#import "lib-vivo-properties.ftl" as vp>
|
||||||
<#include "individual-setup.ftl">
|
<#include "individual-setup.ftl">
|
||||||
|
|
||||||
${scripts.add('<script type="text/javascript" src="${urls.base}/themes/iph/js/collapsible_elements.js"></script>')}
|
|
||||||
${scripts.add('<script async type="text/javascript" src="${urls.base}/themes/iph/js/print.js"></script>')}
|
|
||||||
|
|
||||||
<section id="individual-intro" class="vcard person" role="region">
|
<section id="individual-intro" class="vcard person" role="region">
|
||||||
<span itemscope itemtype="http://schema.org/Person">
|
<span itemscope itemtype="http://schema.org/Person">
|
||||||
<section id="individual-info" ${infoClass!} role="region" style="width: 100%;">
|
<section id="individual-info" ${infoClass!} role="region" style="width: 100%;">
|
||||||
<#include "individual-adminPanel.ftl">
|
<#include "individual-adminPanel.ftl">
|
||||||
<header>
|
<header>
|
||||||
<div id="articleTitleWrapper">
|
|
||||||
<#if relatedSubject??>
|
<#if relatedSubject??>
|
||||||
<h2>${relatedSubject.relatingPredicateDomainPublic} ${i18n().for} ${relatedSubject.name}</h2>
|
<h2>${relatedSubject.relatingPredicateDomainPublic} ${i18n().for} ${relatedSubject.name}</h2>
|
||||||
<p><a href="${relatedSubject.url}" title="${i18n().return_to(relatedSubject.name)}">← ${i18n().return_to(relatedSubject.name)}</a></p>
|
<p><a href="${relatedSubject.url}" title="${i18n().return_to(relatedSubject.name)}">← ${i18n().return_to(relatedSubject.name)}</a></p>
|
||||||
<#else>
|
<#else>
|
||||||
<h1 itemprop="name" class="vcard foaf-person fn" <#if !editable>style="width:100%;border-right:1px solid #A6B1B0;"</#if>>
|
<h1 itemprop="name" class="vcard foaf-person fn" <#if !editable>style="float:left;width:100%;border-right:1px solid #A6B1B0;"</#if>>
|
||||||
<@p.label individual editable labelCount localesCount/>
|
<@p.label individual editable labelCount localesCount/>
|
||||||
</h1>
|
</h1>
|
||||||
</#if>
|
</#if>
|
||||||
|
@ -22,7 +18,6 @@ ${scripts.add('<script async type="text/javascript" src="${urls.base}/themes/iph
|
||||||
<#if editable && profilePageTypesEnabled >
|
<#if editable && profilePageTypesEnabled >
|
||||||
<#include "individual-profilePageTypes.ftl">
|
<#include "individual-profilePageTypes.ftl">
|
||||||
</#if>
|
</#if>
|
||||||
</div>
|
|
||||||
</header>
|
</header>
|
||||||
</section>
|
</section>
|
||||||
</span>
|
</span>
|
||||||
|
@ -30,7 +25,7 @@ ${scripts.add('<script async type="text/javascript" src="${urls.base}/themes/iph
|
||||||
|
|
||||||
<#assign parent = propertyGroups.pullProperty("https://iph.ras.ru/relationships#hasParent")!>
|
<#assign parent = propertyGroups.pullProperty("https://iph.ras.ru/relationships#hasParent")!>
|
||||||
<#if parent?has_content>
|
<#if parent?has_content>
|
||||||
<div class="label">${i18n().rubricator_parent_rubric}<#if !parent.statements?has_content> <@p.addLink parent editable /></#if> <@p.verboseDisplay parent /></div>
|
<div class="label">Родительская рубрика<#if !parent.statements?has_content> <@p.addLink parent editable /></#if> <@p.verboseDisplay parent /></div>
|
||||||
<#if parent.statements?has_content >
|
<#if parent.statements?has_content >
|
||||||
<div style="list-style:none;" class="parentRubric">
|
<div style="list-style:none;" class="parentRubric">
|
||||||
<@p.objectProperty parent editable />
|
<@p.objectProperty parent editable />
|
||||||
|
@ -41,7 +36,7 @@ ${scripts.add('<script async type="text/javascript" src="${urls.base}/themes/iph
|
||||||
|
|
||||||
<#assign order = propertyGroups.pullProperty("https://iph.ras.ru/relationships#rubricOrder")!>
|
<#assign order = propertyGroups.pullProperty("https://iph.ras.ru/relationships#rubricOrder")!>
|
||||||
<#if order?has_content>
|
<#if order?has_content>
|
||||||
<div class="label">${i18n().rubricator_rubric_order}<#if !order.statements?has_content> <@p.addLink order editable /></#if> <@p.verboseDisplay order /></div>
|
<div class="label">Порядок рубрики<#if !order.statements?has_content> <@p.addLink order editable /></#if> <@p.verboseDisplay order /></div>
|
||||||
<#if order.statements?has_content >
|
<#if order.statements?has_content >
|
||||||
<div style="list-style:none;" class="rubricOrder">
|
<div style="list-style:none;" class="rubricOrder">
|
||||||
<@p.dataPropertyList order editable />
|
<@p.dataPropertyList order editable />
|
||||||
|
@ -51,11 +46,11 @@ ${scripts.add('<script async type="text/javascript" src="${urls.base}/themes/iph
|
||||||
</#if>
|
</#if>
|
||||||
|
|
||||||
<#if childRubrics?has_content>
|
<#if childRubrics?has_content>
|
||||||
<button type="button" class="collapsible" style="border:none;padding: 18px;width: 100%;text-align:left;">${i18n().rubricator_subrubrics}</button>
|
<button type="button" class="collapsible" style="border:none;padding: 18px;width: 100%;text-align:left;">Подрубрики</button>
|
||||||
<div style="display:none;">
|
<div style="display:none;">
|
||||||
<#list childRubrics as childRubric>
|
<#list childRubrics as childRubric>
|
||||||
<#if childRubric?has_content >
|
<#if childRubric?has_content >
|
||||||
<div class="childRubric">
|
<div style="list-style:none;border:none;padding: 18px;width: 100%;text-align:left;" class="childRubric">
|
||||||
<a href="${urls.base}/individual?uri=${childRubric.rubricID?url}"">${childRubric.rubricName}</a>
|
<a href="${urls.base}/individual?uri=${childRubric.rubricID?url}"">${childRubric.rubricName}</a>
|
||||||
</div>
|
</div>
|
||||||
</#if>
|
</#if>
|
||||||
|
@ -64,11 +59,11 @@ ${scripts.add('<script async type="text/javascript" src="${urls.base}/themes/iph
|
||||||
</#if>
|
</#if>
|
||||||
|
|
||||||
<#if childArticles?has_content>
|
<#if childArticles?has_content>
|
||||||
<button type="button" class="collapsible" style="border:none;padding: 18px;width: 100%;text-align:left;">${i18n().rubricator_articles_in_subrubrics}</button>
|
<button type="button" class="collapsible" style="border:none;padding: 18px;width: 100%;text-align:left;">Статьи в подрубриках</button>
|
||||||
<div style="display:none;">
|
<div style="display:none;">
|
||||||
<#list childArticles as childArticle>
|
<#list childArticles as childArticle>
|
||||||
<#if childArticle?has_content >
|
<#if childArticle?has_content >
|
||||||
<div class="childArticle">
|
<div style="list-style:none;border:none;padding: 18px;width: 100%;text-align:left;" class="childArticle">
|
||||||
<a href="${urls.base}/individual?uri=${childArticle.childArticleID?url}"">${childArticle.childArticleName}</a>
|
<a href="${urls.base}/individual?uri=${childArticle.childArticleID?url}"">${childArticle.childArticleName}</a>
|
||||||
</div>
|
</div>
|
||||||
</#if>
|
</#if>
|
||||||
|
@ -77,11 +72,11 @@ ${scripts.add('<script async type="text/javascript" src="${urls.base}/themes/iph
|
||||||
</#if>
|
</#if>
|
||||||
|
|
||||||
<#if childExcerpts?has_content>
|
<#if childExcerpts?has_content>
|
||||||
<button type="button" class="collapsible" style="border:none;padding: 18px;width: 100%;text-align:left;">${i18n().rubricator_excerpts_in_subrubrics}</button>
|
<button type="button" class="collapsible" style="border:none;padding: 18px;width: 100%;text-align:left;">Отрывки в подрубриках</button>
|
||||||
<div style="display:none;">
|
<div style="display:none;">
|
||||||
<#list childExcerpts as childExcerpt>
|
<#list childExcerpts as childExcerpt>
|
||||||
<#if childExcerpt?has_content >
|
<#if childExcerpt?has_content >
|
||||||
<div class="childExcerpt">
|
<div style="list-style:none;border:none;padding: 18px;width: 100%;text-align:left;" class="childExcerpt">
|
||||||
<a href="${urls.base}/individual?uri=${childExcerpt.childExcerptID?url}"">${childExcerpt.childExcerptName}</a>
|
<a href="${urls.base}/individual?uri=${childExcerpt.childExcerptID?url}"">${childExcerpt.childExcerptName}</a>
|
||||||
</div>
|
</div>
|
||||||
</#if>
|
</#if>
|
||||||
|
@ -90,7 +85,7 @@ ${scripts.add('<script async type="text/javascript" src="${urls.base}/themes/iph
|
||||||
</#if>
|
</#if>
|
||||||
|
|
||||||
<#if articles?has_content>
|
<#if articles?has_content>
|
||||||
<button type="button" class="collapsible" style="border:none;padding: 18px;width: 100%;text-align:left;">${i18n().rubricator_articles_in_rubric}</button>
|
<button type="button" class="collapsible" style="border:none;padding: 18px;width: 100%;text-align:left;">Статьи в данной рубрике</button>
|
||||||
<div class="articles" style="display:none;">
|
<div class="articles" style="display:none;">
|
||||||
<#list articles as article>
|
<#list articles as article>
|
||||||
<#if article?has_content >
|
<#if article?has_content >
|
||||||
|
@ -103,7 +98,7 @@ ${scripts.add('<script async type="text/javascript" src="${urls.base}/themes/iph
|
||||||
</#if>
|
</#if>
|
||||||
|
|
||||||
<#if excerpts?has_content>
|
<#if excerpts?has_content>
|
||||||
<button type="button" class="collapsible" style="border:none;padding: 18px;width: 100%;text-align:left;">${i18n().rubricator_excerpts_in_rubric}</button>
|
<button type="button" class="collapsible" style="border:none;padding: 18px;width: 100%;text-align:left;">Отрывки в данной рубрике</button>
|
||||||
<div style="display:none;" class="excerpts">
|
<div style="display:none;" class="excerpts">
|
||||||
<#list excerpts as excerpt>
|
<#list excerpts as excerpt>
|
||||||
<#if excerpt?has_content >
|
<#if excerpt?has_content >
|
||||||
|
@ -114,3 +109,23 @@ ${scripts.add('<script async type="text/javascript" src="${urls.base}/themes/iph
|
||||||
</#list>
|
</#list>
|
||||||
</div>
|
</div>
|
||||||
</#if>
|
</#if>
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
var coll = document.getElementsByClassName("collapsible");
|
||||||
|
var i;
|
||||||
|
|
||||||
|
for (i = 0; i < coll.length; i++) {
|
||||||
|
coll[i].addEventListener("click", function() {
|
||||||
|
this.classList.toggle("active");
|
||||||
|
var content = this.nextElementSibling;
|
||||||
|
if (content.style.display === "block") {
|
||||||
|
content.style.display = "none";
|
||||||
|
} else {
|
||||||
|
content.style.display = "block";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
|
@ -1,15 +1,8 @@
|
||||||
${scripts.add('<script type="text/javascript" src="${urls.base}/themes/iph/js/collapsible_elements.js"></script>')}
|
|
||||||
${scripts.add('<script async type="text/javascript" src="${urls.base}/themes/iph/js/print.js"></script>')}
|
|
||||||
|
|
||||||
<#list rubrics as rubric>
|
<#list rubrics as rubric>
|
||||||
<#if !rubric.parentUri??>
|
<#if !rubric.parentUri??>
|
||||||
<#assign childs = rubric.childs?number>
|
<#assign childs = rubric.childs?number>
|
||||||
<button type="button" style="border:none;padding: 15px;text-align:left; width:100%;" class="collapsible">
|
<button type="button" style="border:none;padding: 15px;text-align:left; width:100%;" class="collapsible">
|
||||||
<@openButton childs=childs/><a style="padding-left:15px;">${rubric.name}</a>
|
<@openButton childs=childs/><a style="padding-left:15px;" href="individual?uri=${rubric.uri?url}">${rubric.name}</a></button>
|
||||||
<div id="rubricFollow">
|
|
||||||
<a href="individual?uri=${rubric.uri?url}">${i18n().metadata_to_rubric}</a>
|
|
||||||
</div>
|
|
||||||
</button>
|
|
||||||
<div class="rubricContents" style="display:none;">
|
<div class="rubricContents" style="display:none;">
|
||||||
<#if (childs > 0) >
|
<#if (childs > 0) >
|
||||||
<@nestedRubrics allrubrics=rubrics parentUri=rubric.uri deep=10 level=1 />
|
<@nestedRubrics allrubrics=rubrics parentUri=rubric.uri deep=10 level=1 />
|
||||||
|
@ -20,6 +13,24 @@ ${scripts.add('<script async type="text/javascript" src="${urls.base}/themes/iph
|
||||||
</#list>
|
</#list>
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
var coll = document.getElementsByClassName("collapsible");
|
||||||
|
var i;
|
||||||
|
for (i = 0; i < coll.length; i++) {
|
||||||
|
coll[i].addEventListener("click", function() {
|
||||||
|
this.classList.toggle("active");
|
||||||
|
var content = this.nextElementSibling;
|
||||||
|
if (content.style.display === "block") {
|
||||||
|
content.style.display = "none";
|
||||||
|
$(this).children('.collapsibleSign').text('+');
|
||||||
|
} else {
|
||||||
|
content.style.display = "block";
|
||||||
|
$(this).children('.collapsibleSign').text('–');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
<#macro openButton childs>
|
<#macro openButton childs>
|
||||||
<#if childs > 0>
|
<#if childs > 0>
|
||||||
<div class="collapsibleSign" style="display:inline-block;width:10px;">+</div>
|
<div class="collapsibleSign" style="display:inline-block;width:10px;">+</div>
|
||||||
|
@ -34,11 +45,7 @@ ${scripts.add('<script async type="text/javascript" src="${urls.base}/themes/iph
|
||||||
<#if innerRubric.parentUri?? && innerRubric.parentUri == parentUri>
|
<#if innerRubric.parentUri?? && innerRubric.parentUri == parentUri>
|
||||||
<#assign childs = innerRubric.childs?number>
|
<#assign childs = innerRubric.childs?number>
|
||||||
<#assign count = count + 1 >
|
<#assign count = count + 1 >
|
||||||
<button type="button" style="border:none;padding: 15px 0px 15px ${15+15*level}px;width: 100%; text-align:left;" class="collapsible"><@openButton childs=childs /><a style="padding-left:15px;">${innerRubric.name}</a>
|
<button type="button" style="border:none;padding: 15px 0px 15px ${15+15*level}px;width: 100%; text-align:left;" class="collapsible"><@openButton childs=childs /><a style="padding-left:15px;" href="individual?uri=${innerRubric.uri?url}">${innerRubric.name}</a></button>
|
||||||
<div id="rubricFollow">
|
|
||||||
<a href="individual?uri=${innerRubric.uri?url}">${i18n().metadata_to_rubric}</a>
|
|
||||||
</div>
|
|
||||||
</button>
|
|
||||||
<div class="rubricContents" style="display:none;">
|
<div class="rubricContents" style="display:none;">
|
||||||
<#if (deep > 1) && (childs > 0)>
|
<#if (deep > 1) && (childs > 0)>
|
||||||
<@nestedRubrics allrubrics=rubrics parentUri=innerRubric.uri deep=deep-1 level=level+1 />
|
<@nestedRubrics allrubrics=rubrics parentUri=innerRubric.uri deep=deep-1 level=level+1 />
|
|
@ -5,7 +5,7 @@ icons: {
|
||||||
}
|
}
|
||||||
|
|
||||||
.rule-value-container > select{
|
.rule-value-container > select{
|
||||||
max-width: 380px;
|
max-width: 800px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.query-builder, .query-builder * {
|
.query-builder, .query-builder * {
|
||||||
|
@ -16,7 +16,6 @@ icons: {
|
||||||
|
|
||||||
.query-builder {
|
.query-builder {
|
||||||
font-family: sans-serif;
|
font-family: sans-serif;
|
||||||
width: 100%;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.query-builder .hide {
|
.query-builder .hide {
|
||||||
|
@ -25,7 +24,6 @@ icons: {
|
||||||
|
|
||||||
.query-builder .pull-right {
|
.query-builder .pull-right {
|
||||||
float: right !important;
|
float: right !important;
|
||||||
/*box-shadow: 0px 4px 2px #aeaeae;*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.query-builder .btn {
|
.query-builder .btn {
|
||||||
|
@ -33,7 +31,7 @@ icons: {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
padding: 6px 12px;
|
padding: 6px 12px;
|
||||||
margin-bottom: 0px;
|
margin-bottom: 0px;
|
||||||
font-size: 16px;
|
font-size: 14px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
line-height: 1.42857;
|
line-height: 1.42857;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
@ -43,11 +41,12 @@ icons: {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
user-select: none;
|
user-select: none;
|
||||||
background-image: none;
|
background-image: none;
|
||||||
/*border: 1px solid transparent;*/
|
border: 1px solid transparent;
|
||||||
/*border-radius: 4px;*/
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.query-builder .btn.focus, .query-builder .btn:focus, .query-builder .btn:hover {
|
.query-builder .btn.focus, .query-builder .btn:focus, .query-builder .btn:hover
|
||||||
|
{
|
||||||
color: #333;
|
color: #333;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
@ -55,62 +54,48 @@ icons: {
|
||||||
.query-builder .btn.active, .query-builder .btn:active {
|
.query-builder .btn.active, .query-builder .btn:active {
|
||||||
background-image: none;
|
background-image: none;
|
||||||
outline: 0px none;
|
outline: 0px none;
|
||||||
/* box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.125) inset; */
|
box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.125) inset;
|
||||||
}
|
}
|
||||||
|
|
||||||
.query-builder .btn-success {
|
.query-builder .btn-success {
|
||||||
color: #000000;
|
color: #FFF;
|
||||||
background-color: #ffffff;
|
background-color: #5CB85C;
|
||||||
border: 0px;
|
border-color: #4CAE4C;
|
||||||
font-family: Roboto;
|
|
||||||
/*box-shadow: 0px 4px 2px #aeaeae;*/
|
|
||||||
}
|
|
||||||
.btn-group.pull-right.group-actions {
|
|
||||||
box-shadow: 0px 4px 2px #aeaeae;
|
|
||||||
/*margin-right: 10px;*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.query-builder .btn-primary {
|
.query-builder .btn-primary {
|
||||||
color: #000000;
|
color: #FFF;
|
||||||
background-color: #ffffff;
|
background-color: #337AB7;
|
||||||
border: 1px dashed #000000 !important;
|
border-color: #2E6DA4;
|
||||||
}
|
}
|
||||||
|
|
||||||
.query-builder .btn-danger {
|
.query-builder .btn-danger {
|
||||||
color: #000000;
|
color: #FFF;
|
||||||
background-color: #ffffff;
|
background-color: #D9534F;
|
||||||
border: 0px;
|
border-color: #D43F3A;
|
||||||
box-shadow: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
button.btn.btn-xs.btn-danger {
|
|
||||||
/*box-shadow: 0px 0px 0px #000000;*/
|
|
||||||
border-left: 1px solid #ead6a2 !important;
|
|
||||||
font-family: Roboto;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.query-builder .btn-success.active, .query-builder .btn-success.focus,
|
.query-builder .btn-success.active, .query-builder .btn-success.focus,
|
||||||
.query-builder .btn-success:active, .query-builder .btn-success:focus,
|
.query-builder .btn-success:active, .query-builder .btn-success:focus,
|
||||||
.query-builder .btn-success:hover {
|
.query-builder .btn-success:hover {
|
||||||
color: #000000;
|
color: #FFF;
|
||||||
background-color: #EAD6A2;
|
background-color: #449D44;
|
||||||
border: 0px;
|
border-color: #398439;
|
||||||
/*border-color: #398439;*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.query-builder .btn-primary.active, .query-builder .btn-primary.focus,
|
.query-builder .btn-primary.active, .query-builder .btn-primary.focus,
|
||||||
.query-builder .btn-primary:active, .query-builder .btn-primary:focus,
|
.query-builder .btn-primary:active, .query-builder .btn-primary:focus,
|
||||||
.query-builder .btn-primary:hover {
|
.query-builder .btn-primary:hover {
|
||||||
color: #000000;
|
color: #FFF;
|
||||||
background-color: #EAD6A2;
|
background-color: #286090;
|
||||||
border-color: #000000;
|
border-color: #204D74;
|
||||||
}
|
}
|
||||||
|
|
||||||
.query-builder .btn-danger.active, .query-builder .btn-danger.focus,
|
.query-builder .btn-danger.active, .query-builder .btn-danger.focus,
|
||||||
.query-builder .btn-danger:active, .query-builder .btn-danger:focus,
|
.query-builder .btn-danger:active, .query-builder .btn-danger:focus,
|
||||||
.query-builder .btn-danger:hover {
|
.query-builder .btn-danger:hover {
|
||||||
color: #000000;
|
color: #FFF;
|
||||||
background-color: #ffffff;
|
background-color: #C9302C;
|
||||||
border-color: #AC2925;
|
border-color: #AC2925;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -123,12 +108,10 @@ button.btn.btn-xs.btn-danger {
|
||||||
.query-builder .btn-group>.btn {
|
.query-builder .btn-group>.btn {
|
||||||
position: relative;
|
position: relative;
|
||||||
float: left;
|
float: left;
|
||||||
border-left: 1px solid #ead6a2;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.query-builder .btn-group>.btn:first-child {
|
.query-builder .btn-group>.btn:first-child {
|
||||||
margin-left: 0px;
|
margin-left: 0px;
|
||||||
border-left: none;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.query-builder .btn-group>.btn:first-child:not(:last-child) {
|
.query-builder .btn-group>.btn:first-child:not(:last-child) {
|
||||||
|
@ -148,8 +131,8 @@ button.btn.btn-xs.btn-danger {
|
||||||
}
|
}
|
||||||
|
|
||||||
.query-builder .btn-xs, .query-builder .btn-group-xs>.btn {
|
.query-builder .btn-xs, .query-builder .btn-group-xs>.btn {
|
||||||
padding: 5px 8px;
|
padding: 1px 5px;
|
||||||
font-size: 1rem;
|
font-size: 12px;
|
||||||
line-height: 1.5;
|
line-height: 1.5;
|
||||||
/*border-radius: 3px;*/
|
border-radius: 3px;
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,61 +6,26 @@
|
||||||
.query-builder .rules-group-container, .query-builder .rule-container,
|
.query-builder .rules-group-container, .query-builder .rule-container,
|
||||||
.query-builder .rule-placeholder {
|
.query-builder .rule-placeholder {
|
||||||
position: relative;
|
position: relative;
|
||||||
/*margin: 10px 10px 0 10px;*/
|
margin: 4px 0;
|
||||||
/*border-radius: 5px;*/
|
border-radius: 5px;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
/*border-top: 1px dashed #000000;
|
border: 1px solid #EEE;
|
||||||
border-left: 1px dashed #000000;
|
|
||||||
border-right: 1px dashed #000000;*/
|
|
||||||
background: rgba(255, 255, 255, 0.9);
|
background: rgba(255, 255, 255, 0.9);
|
||||||
}
|
}
|
||||||
|
|
||||||
.rule-container {
|
|
||||||
box-shadow: 0px 4px 4px #aeaeae;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
margin-top: 10px;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.query-builder .rule-container .rule-filter-container, .query-builder .rule-container .rule-operator-container,
|
.query-builder .rule-container .rule-filter-container, .query-builder .rule-container .rule-operator-container,
|
||||||
.query-builder .rule-container .rule-value-container, .query-builder .error-container,
|
.query-builder .rule-container .rule-value-container, .query-builder .error-container,
|
||||||
.query-builder .drag-handle {
|
.query-builder .drag-handle {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
margin: 0 5px 0 0;
|
margin: 0 5px 0 0;
|
||||||
/*vertical-align: middle;*/
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
|
|
||||||
.query-builder .rules-group-container {
|
.query-builder .rules-group-container {
|
||||||
padding: 12px 20px 10px 20px;
|
padding: 10px;
|
||||||
/*border-right: 1px solid #8B4513;
|
padding-bottom: 6px;
|
||||||
border-left: 1px solid #8B4513;
|
border: 1px solid #DCC896;
|
||||||
border-top: 1px solid #8B4513;
|
background: rgba(250, 240, 210, 0.5);
|
||||||
border-bottom: 1px solid #8B4513;*/
|
|
||||||
background-color: #efe9d9;
|
|
||||||
outline: 1px dashed #000000;
|
|
||||||
outline-offset: 0px;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
font-family: Roboto;
|
|
||||||
}
|
|
||||||
|
|
||||||
#builder_group_0 {
|
|
||||||
background-color: #F1F1F1;
|
|
||||||
margin-bottom: 0;
|
|
||||||
outline: 1px solid #F1F1F1;
|
|
||||||
outline-offset: -1px;
|
|
||||||
border-left: 1px solid #8B4513;
|
|
||||||
border-right: 1px solid #8B4513;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
#builder_rule_1 {
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#builder_group_1 {
|
|
||||||
margin-top: 10px;
|
|
||||||
|
|
||||||
/*border: 1px dashed #000000;*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.query-builder .rules-group-header {
|
.query-builder .rules-group-header {
|
||||||
|
@ -87,13 +52,12 @@
|
||||||
|
|
||||||
.query-builder .rules-list {
|
.query-builder .rules-list {
|
||||||
list-style: none;
|
list-style: none;
|
||||||
padding: 0 0 0 10px;
|
padding: 0 0 0 15px;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
box-shadow: 0px 0px #aeaeae;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.query-builder .rule-value-container {
|
.query-builder .rule-value-container {
|
||||||
/*border-left: 1px solid #DDD;*/
|
border-left: 1px solid #DDD;
|
||||||
padding-left: 5px;
|
padding-left: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -108,7 +72,7 @@
|
||||||
|
|
||||||
.query-builder .rule-value-container select, .query-builder .rule-value-container input[type='text'],
|
.query-builder .rule-value-container select, .query-builder .rule-value-container input[type='text'],
|
||||||
.query-builder .rule-value-container input[type='number'] {
|
.query-builder .rule-value-container input[type='number'] {
|
||||||
padding: 5px;
|
padding: 1px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.query-builder .error-container {
|
.query-builder .error-container {
|
||||||
|
@ -133,18 +97,18 @@
|
||||||
left: -10px;
|
left: -10px;
|
||||||
width: 10px;
|
width: 10px;
|
||||||
height: calc(50% + 4px);
|
height: calc(50% + 4px);
|
||||||
border-color: #000000;
|
border-color: #CCC;
|
||||||
border-style: dashed;
|
border-style: solid;
|
||||||
}
|
}
|
||||||
|
|
||||||
.query-builder .rules-list>*::before {
|
.query-builder .rules-list>*::before {
|
||||||
top: -4px;
|
top: -4px;
|
||||||
border-width: 0 0 1px 1px;
|
border-width: 0 0 2px 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.query-builder .rules-list>*::after {
|
.query-builder .rules-list>*::after {
|
||||||
top: 50%;
|
top: 50%;
|
||||||
border-width: 0 0 0 1px;
|
border-width: 0 0 0 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.query-builder .rules-list>*:first-child::before {
|
.query-builder .rules-list>*:first-child::before {
|
||||||
|
@ -153,7 +117,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.query-builder .rules-list>*:last-child::before {
|
.query-builder .rules-list>*:last-child::before {
|
||||||
/*border-radius: 0 0 0 4px;*/
|
border-radius: 0 0 0 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.query-builder .rules-list>*:last-child::after {
|
.query-builder .rules-list>*:last-child::after {
|
||||||
|
|
|
@ -1,173 +0,0 @@
|
||||||
/*!
|
|
||||||
* jQuery QueryBuilder 2.5.2
|
|
||||||
* Copyright 2014-2018 Damien "Mistic" Sorel (http://www.strangeplanet.fr)
|
|
||||||
* Licensed under MIT (https://opensource.org/licenses/MIT)
|
|
||||||
*/
|
|
||||||
.query-builder .rules-group-container, .query-builder .rule-container, .query-builder .rule-placeholder {
|
|
||||||
position: relative;
|
|
||||||
margin: 4px 0;
|
|
||||||
border-radius: 5px;
|
|
||||||
padding: 5px;
|
|
||||||
border: 1px solid #EEE;
|
|
||||||
background: rgba(255, 255, 255, 0.9);
|
|
||||||
}
|
|
||||||
|
|
||||||
.query-builder .rule-container .rule-filter-container,
|
|
||||||
.query-builder .rule-container .rule-operator-container,
|
|
||||||
.query-builder .rule-container .rule-value-container, .query-builder .error-container, .query-builder .drag-handle {
|
|
||||||
display: inline-block;
|
|
||||||
margin: 0 5px 0 0;
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
|
|
||||||
.query-builder .rules-group-container {
|
|
||||||
padding: 10px;
|
|
||||||
padding-bottom: 6px;
|
|
||||||
border: 1px solid #DCC896;
|
|
||||||
background: rgba(250, 240, 210, 0.5);
|
|
||||||
}
|
|
||||||
|
|
||||||
.query-builder .rules-group-header {
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.query-builder .rules-group-header .group-conditions .btn.readonly:not(.active),
|
|
||||||
.query-builder .rules-group-header .group-conditions input[name$='_cond'] {
|
|
||||||
border: 0;
|
|
||||||
clip: rect(0 0 0 0);
|
|
||||||
height: 1px;
|
|
||||||
margin: -1px;
|
|
||||||
overflow: hidden;
|
|
||||||
padding: 0;
|
|
||||||
position: absolute;
|
|
||||||
width: 1px;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
.query-builder .rules-group-header .group-conditions .btn.readonly {
|
|
||||||
border-radius: 3px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.query-builder .rules-list {
|
|
||||||
list-style: none;
|
|
||||||
padding: 0 0 0 15px;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.query-builder .rule-value-container {
|
|
||||||
border-left: 1px solid #DDD;
|
|
||||||
padding-left: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.query-builder .rule-value-container label {
|
|
||||||
margin-bottom: 0;
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
.query-builder .rule-value-container label.block {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
.query-builder .rule-value-container select,
|
|
||||||
.query-builder .rule-value-container input[type='text'],
|
|
||||||
.query-builder .rule-value-container input[type='number'] {
|
|
||||||
padding: 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.query-builder .error-container {
|
|
||||||
display: none;
|
|
||||||
cursor: help;
|
|
||||||
color: #F00;
|
|
||||||
}
|
|
||||||
|
|
||||||
.query-builder .has-error {
|
|
||||||
background-color: #FDD;
|
|
||||||
border-color: #F99;
|
|
||||||
}
|
|
||||||
|
|
||||||
.query-builder .has-error .error-container {
|
|
||||||
display: inline-block !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.query-builder .rules-list > *::before, .query-builder .rules-list > *::after {
|
|
||||||
content: '';
|
|
||||||
position: absolute;
|
|
||||||
left: -10px;
|
|
||||||
width: 10px;
|
|
||||||
height: calc(50% + 4px);
|
|
||||||
border-color: #CCC;
|
|
||||||
border-style: solid;
|
|
||||||
}
|
|
||||||
|
|
||||||
.query-builder .rules-list > *::before {
|
|
||||||
top: -4px;
|
|
||||||
border-width: 0 0 2px 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.query-builder .rules-list > *::after {
|
|
||||||
top: 50%;
|
|
||||||
border-width: 0 0 0 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.query-builder .rules-list > *:first-child::before {
|
|
||||||
top: -12px;
|
|
||||||
height: calc(50% + 14px);
|
|
||||||
}
|
|
||||||
|
|
||||||
.query-builder .rules-list > *:last-child::before {
|
|
||||||
border-radius: 0 0 0 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.query-builder .rules-list > *:last-child::after {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.query-builder.bt-checkbox-glyphicons .checkbox input[type='checkbox']:checked + label::after {
|
|
||||||
font-family: 'Glyphicons Halflings';
|
|
||||||
content: '\e013';
|
|
||||||
}
|
|
||||||
|
|
||||||
.query-builder.bt-checkbox-glyphicons .checkbox label::after {
|
|
||||||
padding-left: 4px;
|
|
||||||
padding-top: 2px;
|
|
||||||
font-size: 9px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.query-builder .error-container + .tooltip .tooltip-inner {
|
|
||||||
color: #F99 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.query-builder p.filter-description {
|
|
||||||
margin: 5px 0 0 0;
|
|
||||||
background: #D9EDF7;
|
|
||||||
border: 1px solid #BCE8F1;
|
|
||||||
color: #31708F;
|
|
||||||
border-radius: 5px;
|
|
||||||
padding: 2.5px 5px;
|
|
||||||
font-size: .8em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.query-builder .rules-group-header [data-invert] {
|
|
||||||
margin-left: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.query-builder .drag-handle {
|
|
||||||
cursor: move;
|
|
||||||
vertical-align: middle;
|
|
||||||
margin-left: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.query-builder .dragging {
|
|
||||||
position: fixed;
|
|
||||||
opacity: .5;
|
|
||||||
z-index: 100;
|
|
||||||
}
|
|
||||||
|
|
||||||
.query-builder .dragging::before, .query-builder .dragging::after {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.query-builder .rule-placeholder {
|
|
||||||
border: 1px dashed #BBB;
|
|
||||||
opacity: .7;
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
/*!
|
|
||||||
* jQuery QueryBuilder 2.5.2
|
|
||||||
* Copyright 2014-2018 Damien "Mistic" Sorel (http://www.strangeplanet.fr)
|
|
||||||
* Licensed under MIT (https://opensource.org/licenses/MIT)
|
|
||||||
*/
|
|
||||||
.query-builder .rule-container,.query-builder .rule-placeholder,.query-builder .rules-group-container{position:relative;margin:4px 0;border-radius:5px;padding:5px;border:1px solid #eee;background:rgba(255,255,255,.9)}.query-builder .drag-handle,.query-builder .error-container,.query-builder .rule-container .rule-filter-container,.query-builder .rule-container .rule-operator-container,.query-builder .rule-container .rule-value-container{display:inline-block;margin:0 5px 0 0;vertical-align:middle}.query-builder .rules-group-container{padding:10px;padding-bottom:6px;border:1px solid #dcc896;background:rgba(250,240,210,.5)}.query-builder .rules-group-header{margin-bottom:10px}.query-builder .rules-group-header .group-conditions .btn.readonly:not(.active),.query-builder .rules-group-header .group-conditions input[name$='_cond']{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.query-builder .rules-group-header .group-conditions .btn.readonly{border-radius:3px}.query-builder .rules-list{list-style:none;padding:0 0 0 15px;margin:0}.query-builder .rule-value-container{border-left:1px solid #ddd;padding-left:5px}.query-builder .rule-value-container label{margin-bottom:0;font-weight:400}.query-builder .rule-value-container label.block{display:block}.query-builder .rule-value-container input[type=number],.query-builder .rule-value-container input[type=text],.query-builder .rule-value-container select{padding:1px}.query-builder .error-container{display:none;cursor:help;color:red}.query-builder .has-error{background-color:#fdd;border-color:#f99}.query-builder .has-error .error-container{display:inline-block!important}.query-builder .rules-list>::after,.query-builder .rules-list>::before{content:'';position:absolute;left:-10px;width:10px;height:calc(50% + 4px);border-color:#ccc;border-style:solid}.query-builder .rules-list>::before{top:-4px;border-width:0 0 2px 2px}.query-builder .rules-list>::after{top:50%;border-width:0 0 0 2px}.query-builder .rules-list>:first-child::before{top:-12px;height:calc(50% + 14px)}.query-builder .rules-list>:last-child::before{border-radius:0 0 0 4px}.query-builder .rules-list>:last-child::after{display:none}.query-builder.bt-checkbox-glyphicons .checkbox input[type=checkbox]:checked+label::after{font-family:'Glyphicons Halflings';content:'\e013'}.query-builder.bt-checkbox-glyphicons .checkbox label::after{padding-left:4px;padding-top:2px;font-size:9px}.query-builder .error-container+.tooltip .tooltip-inner{color:#f99!important}.query-builder p.filter-description{margin:5px 0 0 0;background:#d9edf7;border:1px solid #bce8f1;color:#31708f;border-radius:5px;padding:2.5px 5px;font-size:.8em}.query-builder .rules-group-header [data-invert]{margin-left:5px}.query-builder .drag-handle{cursor:move;vertical-align:middle;margin-left:5px}.query-builder .dragging{position:fixed;opacity:.5;z-index:100}.query-builder .dragging::after,.query-builder .dragging::before{display:none}.query-builder .rule-placeholder{border:1px dashed #bbb;opacity:.7}
|
|
|
@ -56,7 +56,7 @@ td {
|
||||||
font-size: 100%;
|
font-size: 100%;
|
||||||
font-family: inherit;
|
font-family: inherit;
|
||||||
vertical-align: baseline;
|
vertical-align: baseline;
|
||||||
color: #000000;
|
color: #595b5b;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
}
|
}
|
||||||
body {
|
body {
|
||||||
|
|
|
@ -1,32 +1,32 @@
|
||||||
menu_contactus = Контакты
|
menu_contactus = Contact Us
|
||||||
menu_welcomestart = Добро пожаловать
|
menu_welcomestart = Welcome
|
||||||
menu_copyright = права
|
menu_copyright = copyright
|
||||||
menu_support = Поддержка
|
menu_support = Support
|
||||||
menu_logout = Выйти
|
menu_logout = Log out
|
||||||
menu_loginfull = Log in to manage this site
|
menu_loginfull = Log in to manage this site
|
||||||
menu_login = Войти
|
menu_login = Log in
|
||||||
menu_version = Версия
|
menu_version = Version
|
||||||
menu_about = О нас
|
menu_about = About
|
||||||
menu_termuse = Правила использования
|
menu_termuse = Terms of Use
|
||||||
menu_powered = Сделано с помощью
|
menu_powered = Powered by
|
||||||
|
|
||||||
intro_title = Добро пожаловать в VIVO
|
intro_title = Welcome to VIVO
|
||||||
intro_para1 = VIVO is a research-focused discovery tool that enables collaboration among scholars of all disciplines.
|
intro_para1 = VIVO is a research-focused discovery tool that enables collaboration among scholars of all disciplines.
|
||||||
intro_para2 = Browse or search information on people, departments, courses, grants, and publications.
|
intro_para2 = Browse or search information on people, departments, courses, grants, and publications.
|
||||||
intro_searchvivo = Поиск VIVO
|
intro_searchvivo = Search VIVO
|
||||||
intro_filtersearch = Ограничить поиск
|
intro_filtersearch = Filter search
|
||||||
|
|
||||||
identity_title = VIVO | соединяй делись познавай
|
identity_title = VIVO | connect share discover
|
||||||
identity_index = Index
|
identity_index = Index
|
||||||
identity_edit = Редактировать страницу
|
identity_edit = Edit Page
|
||||||
identity_admin = Админка
|
identity_admin = Site Admin
|
||||||
identity_myprofile = Мой профиль
|
identity_myprofile = My profile
|
||||||
identity_myaccount = Моя учётная запись
|
identity_myaccount = My account
|
||||||
identity_user = пользователь
|
identity_user = user
|
||||||
|
|
||||||
collection_capitalized = Коллекция
|
collection_capitalized = Collection
|
||||||
place_of_grant = Место получения гранта
|
place_of_grant = Place of grant
|
||||||
email_address = email адрес
|
email_address = Email Address
|
||||||
|
|
||||||
#
|
#
|
||||||
# menupage templates ( /templates/freemarker/body/menupage )
|
# menupage templates ( /templates/freemarker/body/menupage )
|
||||||
|
@ -41,126 +41,69 @@ grants_two = This technique could be used to define pages without menu items, th
|
||||||
grants_text_three = This would create a page that would use about.ftl as the body. The page would be \
|
grants_text_three = This would create a page that would use about.ftl as the body. The page would be \
|
||||||
accessed via /about and would override all servlet mappings in web.xml.
|
accessed via /about and would override all servlet mappings in web.xml.
|
||||||
|
|
||||||
address_street_one = первая строка адреса
|
address_street_one = address street one
|
||||||
address_street_two = вторая строка адреса
|
address_street_two = address street two
|
||||||
address_street_three = третья строка адреса
|
address_street_three = address street three
|
||||||
address_label = подпись адреса
|
address_label = address label
|
||||||
|
|
||||||
loading_website_image = Загрузка изображения сайта
|
loading_website_image = Loading website image
|
||||||
|
|
||||||
researchers_in = исследователь в
|
researchers_in = researchers in
|
||||||
view = вид
|
view = view
|
||||||
grant_type = тип гранта
|
grant_type = grant Type
|
||||||
grant_entry_for = grant entry for
|
grant_entry_for = grant entry for
|
||||||
regions = регионы
|
regions = regions
|
||||||
grant_date = дата получения гранта
|
grant_date = grant Date
|
||||||
map_states_string = штатов.
|
map_states_string = states.
|
||||||
map_state_string = штат.
|
map_state_string = state.
|
||||||
unable_to_handle_grant_editing = This form is unable to handle the editing of this grant because it is associated with multiple grant individuals.
|
unable_to_handle_grant_editing = This form is unable to handle the editing of this grant because it is associated with multiple grant individuals.
|
||||||
unable_to_handle_position_editing = This form is unable to handle the editing of this position because it is associated with multiple Position individuals.
|
unable_to_handle_position_editing = This form is unable to handle the editing of this position because it is associated with multiple Position individuals.
|
||||||
currently_no_papers_for = Currently there are no {0} papers for
|
currently_no_papers_for = Currently there are no {0} papers for
|
||||||
change_selection = Изменить выделенное
|
change_selection = change selection
|
||||||
view_all_departments = view all academic departments
|
view_all_departments = view all academic departments
|
||||||
first_name = Имя
|
first_name = First name
|
||||||
last_name = Фамилия
|
last_name = Last name
|
||||||
first_grant = Первый грант
|
first_grant = First Grant
|
||||||
last_grant = Последний грант
|
last_grant = Last Grant
|
||||||
currently_no_researchers = There are currently no researchers with a defined geographic focus.
|
currently_no_researchers = There are currently no researchers with a defined geographic focus.
|
||||||
reviewer_role = Роль рецензента
|
reviewer_role = Reviewer Role
|
||||||
vivo_profile = профиль VIVO
|
vivo_profile = VIVO profile
|
||||||
loading_data = данные загружаются
|
loading_data = loading data
|
||||||
select_award = Selected Award
|
select_award = Selected Award
|
||||||
grants_in_vivo = гранты в VIVO
|
grants_in_vivo = grants in VIVO
|
||||||
service_provider_role = Роль предоставителя услуг
|
service_provider_role = Service Provider Role
|
||||||
view_all_faculty = просмотреть весь факультет
|
view_all_faculty = view all faculty
|
||||||
no_grants_for = В данный момент грантов нет грантов для
|
no_grants_for = Currently there are no grants for
|
||||||
statewide_locations = state-wide locations.
|
statewide_locations = state-wide locations.
|
||||||
faculty_who_are_members_of_org = Here are the faculty in the {0} department who are members of this organization.
|
faculty_who_are_members_of_org = Here are the faculty in the {0} department who are members of this organization.
|
||||||
indiv_foafperson_for = к
|
indiv_foafperson_for = for
|
||||||
indiv_foafperson_return = вернуться к
|
indiv_foafperson_return = return to
|
||||||
no_departments_found = Университетских департаментов не найдено.
|
no_departments_found = No academic departments found.
|
||||||
leadership_role = Управляющая роль
|
leadership_role = Leadership Role
|
||||||
countries = страны
|
countries = countries
|
||||||
first_publication = Первая публикация
|
first_publication = First publication
|
||||||
last_publication = Последняя публикация
|
last_publication = Last publication
|
||||||
research_area = сотрудников департамента спецализирующихся на данной области исследования
|
research_area = individuals in the department with this research area
|
||||||
password = пароль
|
password = password
|
||||||
limit_search = ограничить поиск
|
limit_search = limit search
|
||||||
placeholder_image = Изображение-заполнитель
|
placeholder_image = placeholder image
|
||||||
view_all_members_of_org = Просмотреть всех участников данной организации.
|
view_all_members_of_org = View all the members of this organization.
|
||||||
display_more = больше
|
display_more = more
|
||||||
create_entry = Создать запись
|
create_entry = Create Entry
|
||||||
attendee_capitalized = Посетитель
|
attendee_capitalized = Attendee
|
||||||
no_faculty_found = Членов факультета найдено не было.
|
no_faculty_found = No faculty members found.
|
||||||
create_capitalized = Создать
|
create_capitalized = Create
|
||||||
to = к
|
to = to
|
||||||
enter_new_role_value = Введеите новое значение в поле Роль.
|
enter_new_role_value = Please enter a new value in the Role field.
|
||||||
countries_and_regions = страны и регионы.
|
countries_and_regions = countries and regions.
|
||||||
province_or_region = Провинция или регион
|
province_or_region = Province or Region
|
||||||
full_name = Полное имя
|
full_name = Full name
|
||||||
researchers = исследователи
|
researchers = researchers
|
||||||
years_participation_in = Годы участия в
|
years_participation_in = Years of Participation in
|
||||||
return_to_grant = Вернуться к гранту
|
return_to_grant = Return to grant
|
||||||
profile_capitalized = Профиль
|
profile_capitalized = Profile
|
||||||
organizer_role = Роль организатора
|
organizer_role = Organizer Role
|
||||||
faculty_memberships = Членство в факультете
|
faculty_memberships = Faculty Memberships
|
||||||
edit_mailing_address = Изменить email адрес
|
edit_mailing_address = Edit Mailing Address
|
||||||
add_capitalized = Добавить
|
add_capitalized = Add
|
||||||
|
|
||||||
#Design labels
|
|
||||||
scroll_to_top_label = Наверх
|
|
||||||
toc_label = Содержание
|
|
||||||
collapse_something = Свернуть
|
|
||||||
expand_something = Раскрыть
|
|
||||||
|
|
||||||
user_settings_label = Выберите настройки:
|
|
||||||
user_settings_always_open_full_doc = Всегда раскрывать документ при открытии
|
|
||||||
user_settings_always_open_metadata = Всегда раскрывать метаданные при открытии
|
|
||||||
expand_doc_switch = Раскрыть документ
|
|
||||||
collapse_doc_switch = Свернуть документ
|
|
||||||
expand_metadata_switch = Раскрыть метаданные
|
|
||||||
collapse_metadata_switch = Свернуть метаданные
|
|
||||||
|
|
||||||
|
|
||||||
literature_excerpt_button_text = Литература
|
|
||||||
literature_all_button_text = Сводная литература
|
|
||||||
sources_excerpt_button_text = Источники
|
|
||||||
sources_all_button_text = Сводные источники
|
|
||||||
extended_search_label = Расширенный поиск
|
|
||||||
metadata_label = Метаданные
|
|
||||||
metadata_query = Поисковый запрос
|
|
||||||
metadata_relates_to_rubrics = Относится к рубрикам:
|
|
||||||
metadata_relates_to_issue = Входит в выпуск
|
|
||||||
metadata_year = Год
|
|
||||||
metadata_to_rubric = перейти в рубрику
|
|
||||||
metadata_firstPublication = Первая публикация
|
|
||||||
metadata_authors = Авторы:
|
|
||||||
metadata_keywords = Ключевые слова:
|
|
||||||
metadata_html_text = Текст:
|
|
||||||
metadata_org_address = Адрес организации:
|
|
||||||
metadata_in_articles = В составе статей:
|
|
||||||
|
|
||||||
#Philosophical classifier
|
|
||||||
rubricator_parent_rubric = Родительская рубрика:
|
|
||||||
rubricator_rubric_order = Порядок рубрики
|
|
||||||
rubricator_subrubrics = Подрубрики
|
|
||||||
rubricator_articles_in_subrubrics = Статьи в подрубриках
|
|
||||||
rubricator_excerpts_in_subrubrics = Отрывки в подрубриках
|
|
||||||
rubricator_articles_in_rubric = Статьи в данной рубрике
|
|
||||||
rubricator_excerpts_in_rubric = Отрывки в данной рубрике
|
|
||||||
|
|
||||||
#Extended search form
|
|
||||||
extended_search_example = Пример заполнения
|
|
||||||
extended_search_results_on_page = Результатов на страницу
|
|
||||||
extended_search_clean = Очистить
|
|
||||||
extended_search_execute_search = Поиск
|
|
||||||
open_standard_search_form = Стандартная форма поиска
|
|
||||||
|
|
||||||
#Virtual articles creation
|
|
||||||
show_virtual_article = Показать виртуальную статью
|
|
||||||
create_compilation_button = Сохранить
|
|
||||||
create_compilation_no_excerpts = Отрывков не найдено
|
|
||||||
create_compilation_enter_name_notification = Введите название подобрки
|
|
||||||
create_compilation_no_name_entered_error = Для создания подоборки необходимо ввести её название
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,115 +0,0 @@
|
||||||
menu_contactus = Contact Us
|
|
||||||
menu_welcomestart = Welcome
|
|
||||||
menu_copyright = copyright
|
|
||||||
menu_support = Support
|
|
||||||
menu_logout = Log out
|
|
||||||
menu_loginfull = Log in to manage this site
|
|
||||||
menu_login = Log in
|
|
||||||
menu_version = Version
|
|
||||||
menu_about = About
|
|
||||||
menu_termuse = Terms of Use
|
|
||||||
menu_powered = Powered by
|
|
||||||
|
|
||||||
intro_title = Welcome to VIVO
|
|
||||||
intro_para1 = VIVO is a research-focused discovery tool that enables collaboration among scholars of all disciplines.
|
|
||||||
intro_para2 = Browse or search information on people, departments, courses, grants, and publications.
|
|
||||||
intro_searchvivo = Search VIVO
|
|
||||||
intro_filtersearch = Filter search
|
|
||||||
|
|
||||||
identity_title = VIVO | connect share discover
|
|
||||||
identity_index = Index
|
|
||||||
identity_edit = Edit Page
|
|
||||||
identity_admin = Site Admin
|
|
||||||
identity_myprofile = My profile
|
|
||||||
identity_myaccount = My account
|
|
||||||
identity_user = user
|
|
||||||
|
|
||||||
collection_capitalized = Collection
|
|
||||||
place_of_grant = Place of grant
|
|
||||||
email_address = Email Address
|
|
||||||
|
|
||||||
#
|
|
||||||
# menupage templates ( /templates/freemarker/body/menupage )
|
|
||||||
#
|
|
||||||
grants_text_one = This body is from the the template file \
|
|
||||||
vivo/productMods/templates/freemarker/body/menupage/grants.ftl. \
|
|
||||||
In the display model, the grants page has a display:requiresBodyTemplate \
|
|
||||||
property that defines that the grants page overrides the default template. \
|
|
||||||
The default template for these pages is at /vitro/webapp/web/templates/freemarker/body/menupage/menupage.ftl
|
|
||||||
grants_two = This technique could be used to define pages without menu items, that get \
|
|
||||||
their content from a freemarker template. An example would be the about page.
|
|
||||||
grants_text_three = This would create a page that would use about.ftl as the body. The page would be \
|
|
||||||
accessed via /about and would override all servlet mappings in web.xml.
|
|
||||||
|
|
||||||
address_street_one = address street one
|
|
||||||
address_street_two = address street two
|
|
||||||
address_street_three = address street three
|
|
||||||
address_label = address label
|
|
||||||
|
|
||||||
loading_website_image = Loading website image
|
|
||||||
|
|
||||||
researchers_in = researchers in
|
|
||||||
view = view
|
|
||||||
grant_type = grant Type
|
|
||||||
grant_entry_for = grant entry for
|
|
||||||
regions = regions
|
|
||||||
grant_date = grant Date
|
|
||||||
map_states_string = states.
|
|
||||||
map_state_string = state.
|
|
||||||
unable_to_handle_grant_editing = This form is unable to handle the editing of this grant because it is associated with multiple grant individuals.
|
|
||||||
unable_to_handle_position_editing = This form is unable to handle the editing of this position because it is associated with multiple Position individuals.
|
|
||||||
currently_no_papers_for = Currently there are no {0} papers for
|
|
||||||
change_selection = change selection
|
|
||||||
view_all_departments = view all academic departments
|
|
||||||
first_name = First name
|
|
||||||
last_name = Last name
|
|
||||||
first_grant = First Grant
|
|
||||||
last_grant = Last Grant
|
|
||||||
currently_no_researchers = There are currently no researchers with a defined geographic focus.
|
|
||||||
reviewer_role = Reviewer Role
|
|
||||||
vivo_profile = VIVO profile
|
|
||||||
loading_data = loading data
|
|
||||||
select_award = Selected Award
|
|
||||||
grants_in_vivo = grants in VIVO
|
|
||||||
service_provider_role = Service Provider Role
|
|
||||||
view_all_faculty = view all faculty
|
|
||||||
no_grants_for = Currently there are no grants for
|
|
||||||
statewide_locations = state-wide locations.
|
|
||||||
faculty_who_are_members_of_org = Here are the faculty in the {0} department who are members of this organization.
|
|
||||||
indiv_foafperson_for = for
|
|
||||||
indiv_foafperson_return = return to
|
|
||||||
no_departments_found = No academic departments found.
|
|
||||||
leadership_role = Leadership Role
|
|
||||||
countries = countries
|
|
||||||
first_publication = First publication
|
|
||||||
last_publication = Last publication
|
|
||||||
research_area = individuals in the department with this research area
|
|
||||||
password = password
|
|
||||||
limit_search = limit search
|
|
||||||
placeholder_image = placeholder image
|
|
||||||
view_all_members_of_org = View all the members of this organization.
|
|
||||||
display_more = more
|
|
||||||
create_entry = Create Entry
|
|
||||||
attendee_capitalized = Attendee
|
|
||||||
no_faculty_found = No faculty members found.
|
|
||||||
create_capitalized = Create
|
|
||||||
to = to
|
|
||||||
enter_new_role_value = Please enter a new value in the Role field.
|
|
||||||
countries_and_regions = countries and regions.
|
|
||||||
province_or_region = Province or Region
|
|
||||||
full_name = Full name
|
|
||||||
researchers = researchers
|
|
||||||
years_participation_in = Years of Participation in
|
|
||||||
return_to_grant = Return to grant
|
|
||||||
profile_capitalized = Profile
|
|
||||||
organizer_role = Organizer Role
|
|
||||||
faculty_memberships = Faculty Memberships
|
|
||||||
edit_mailing_address = Edit Mailing Address
|
|
||||||
add_capitalized = Add
|
|
||||||
|
|
||||||
literature_excerpt_button_text = Bibliography
|
|
||||||
literature_all_button_text = All bibliorgraphy
|
|
||||||
sources_excerpt_button_text = Sources
|
|
||||||
sources_all_button_text = All sources
|
|
||||||
remove_doc_from_search_results = Remove from search results
|
|
||||||
|
|
|
@ -1,109 +0,0 @@
|
||||||
menu_contactus = Contact Us
|
|
||||||
menu_welcomestart = Welcome
|
|
||||||
menu_copyright = copyright
|
|
||||||
menu_support = Support
|
|
||||||
menu_logout = Log out
|
|
||||||
menu_loginfull = Log in to manage this site
|
|
||||||
menu_login = Log in
|
|
||||||
menu_version = Version
|
|
||||||
menu_about = About
|
|
||||||
menu_termuse = Terms of Use
|
|
||||||
menu_powered = Powered by
|
|
||||||
|
|
||||||
intro_title = Welcome to VIVO
|
|
||||||
intro_para1 = VIVO is a research-focused discovery tool that enables collaboration among scholars of all disciplines.
|
|
||||||
intro_para2 = Browse or search information on people, departments, courses, grants, and publications.
|
|
||||||
intro_searchvivo = Search VIVO
|
|
||||||
intro_filtersearch = Filter search
|
|
||||||
|
|
||||||
identity_title = Электронная Философская Энциклопедия
|
|
||||||
identity_index = Index
|
|
||||||
identity_edit = Edit Page
|
|
||||||
identity_admin = Site Admin
|
|
||||||
identity_myprofile = My profile
|
|
||||||
identity_myaccount = My account
|
|
||||||
identity_user = user
|
|
||||||
|
|
||||||
collection_capitalized = Collection
|
|
||||||
place_of_grant = Place of grant
|
|
||||||
email_address = Email Address
|
|
||||||
|
|
||||||
#
|
|
||||||
# menupage templates ( /templates/freemarker/body/menupage )
|
|
||||||
#
|
|
||||||
grants_text_one = This body is from the the template file \
|
|
||||||
vivo/productMods/templates/freemarker/body/menupage/grants.ftl. \
|
|
||||||
In the display model, the grants page has a display:requiresBodyTemplate \
|
|
||||||
property that defines that the grants page overrides the default template. \
|
|
||||||
The default template for these pages is at /vitro/webapp/web/templates/freemarker/body/menupage/menupage.ftl
|
|
||||||
grants_two = This technique could be used to define pages without menu items, that get \
|
|
||||||
their content from a freemarker template. An example would be the about page.
|
|
||||||
grants_text_three = This would create a page that would use about.ftl as the body. The page would be \
|
|
||||||
accessed via /about and would override all servlet mappings in web.xml.
|
|
||||||
|
|
||||||
address_street_one = address street one
|
|
||||||
address_street_two = address street two
|
|
||||||
address_street_three = address street three
|
|
||||||
address_label = address label
|
|
||||||
|
|
||||||
loading_website_image = Loading website image
|
|
||||||
|
|
||||||
researchers_in = researchers in
|
|
||||||
view = view
|
|
||||||
grant_type = grant Type
|
|
||||||
grant_entry_for = grant entry for
|
|
||||||
regions = regions
|
|
||||||
grant_date = grant Date
|
|
||||||
map_states_string = states.
|
|
||||||
map_state_string = state.
|
|
||||||
unable_to_handle_grant_editing = This form is unable to handle the editing of this grant because it is associated with multiple grant individuals.
|
|
||||||
unable_to_handle_position_editing = This form is unable to handle the editing of this position because it is associated with multiple Position individuals.
|
|
||||||
currently_no_papers_for = Currently there are no {0} papers for
|
|
||||||
change_selection = change selection
|
|
||||||
view_all_departments = view all academic departments
|
|
||||||
first_name = First name
|
|
||||||
last_name = Last name
|
|
||||||
first_grant = First Grant
|
|
||||||
last_grant = Last Grant
|
|
||||||
currently_no_researchers = There are currently no researchers with a defined geographic focus.
|
|
||||||
reviewer_role = Reviewer Role
|
|
||||||
vivo_profile = VIVO profile
|
|
||||||
loading_data = loading data
|
|
||||||
select_award = Selected Award
|
|
||||||
grants_in_vivo = grants in VIVO
|
|
||||||
service_provider_role = Service Provider Role
|
|
||||||
view_all_faculty = view all faculty
|
|
||||||
no_grants_for = Currently there are no grants for
|
|
||||||
statewide_locations = state-wide locations.
|
|
||||||
faculty_who_are_members_of_org = Here are the faculty in the {0} department who are members of this organization.
|
|
||||||
indiv_foafperson_for = for
|
|
||||||
indiv_foafperson_return = return to
|
|
||||||
no_departments_found = No academic departments found.
|
|
||||||
leadership_role = Leadership Role
|
|
||||||
countries = countries
|
|
||||||
first_publication = First publication
|
|
||||||
last_publication = Last publication
|
|
||||||
research_area = individuals in the department with this research area
|
|
||||||
password = password
|
|
||||||
limit_search = limit search
|
|
||||||
placeholder_image = placeholder image
|
|
||||||
view_all_members_of_org = View all the members of this organization.
|
|
||||||
display_more = more
|
|
||||||
create_entry = Create Entry
|
|
||||||
attendee_capitalized = Attendee
|
|
||||||
no_faculty_found = No faculty members found.
|
|
||||||
create_capitalized = Create
|
|
||||||
to = to
|
|
||||||
enter_new_role_value = Please enter a new value in the Role field.
|
|
||||||
countries_and_regions = countries and regions.
|
|
||||||
province_or_region = Province or Region
|
|
||||||
full_name = Full name
|
|
||||||
researchers = researchers
|
|
||||||
years_participation_in = Years of Participation in
|
|
||||||
return_to_grant = Return to grant
|
|
||||||
profile_capitalized = Profile
|
|
||||||
organizer_role = Organizer Role
|
|
||||||
faculty_memberships = Faculty Memberships
|
|
||||||
edit_mailing_address = Edit Mailing Address
|
|
||||||
add_capitalized = Add
|
|
||||||
remove_doc_from_search_results=Удалить из результатов поиска
|
|
|
@ -1,6 +0,0 @@
|
||||||
<svg width="20" height="19" viewBox="0 0 20 19" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M0 8.21428H20" stroke="#8B4513"/>
|
|
||||||
<path d="M0 10.3571H20" stroke="#8B4513"/>
|
|
||||||
<path d="M6.09782 16.2857L9.64279 12.1923L13.1878 16.2857H6.09782Z" fill="#8B4513" stroke="#8B4513"/>
|
|
||||||
<path d="M6.09782 2.28571L9.64279 6.37909L13.1878 2.28571H6.09782Z" fill="#8B4513" stroke="#8B4513"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 393 B |
|
@ -1,6 +0,0 @@
|
||||||
<svg width="20" height="18" viewBox="0 0 20 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M0 7.5H20" stroke="#8B4513"/>
|
|
||||||
<path d="M0 9.64285H20" stroke="#8B4513"/>
|
|
||||||
<path d="M6.09782 4.85714L9.64279 0.763763L13.1878 4.85714H6.09782Z" fill="#8B4513" stroke="#8B4513"/>
|
|
||||||
<path d="M6.09782 12.2857L9.64279 16.3791L13.1878 12.2857H6.09782Z" fill="#8B4513" stroke="#8B4513"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 390 B |
|
@ -1,3 +0,0 @@
|
||||||
<svg width="13" height="8" viewBox="0 0 13 8" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M1.09926 1L6.5 7.23624L11.9007 1H1.09926Z" stroke="#8B4513"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 172 B |
Before Width: | Height: | Size: 318 B |
|
@ -1,3 +0,0 @@
|
||||||
<svg width="13" height="8" viewBox="0 0 13 8" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M1.09926 1L6.5 7.23624L11.9007 1H1.09926Z" stroke="#8B4513"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 172 B |
|
@ -1,3 +0,0 @@
|
||||||
<svg width="13" height="8" viewBox="0 0 13 8" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M1.09926 1L6.5 7.23624L11.9007 1H1.09926Z" fill="#8B4513" stroke="#8B4513"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 187 B |
Before Width: | Height: | Size: 126 B After Width: | Height: | Size: 183 B |
Before Width: | Height: | Size: 75 B After Width: | Height: | Size: 170 B |
|
@ -1,61 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg
|
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
||||||
width="5.7735262"
|
|
||||||
height="10"
|
|
||||||
viewBox="0 0 5.7735262 9.9999996"
|
|
||||||
fill="none"
|
|
||||||
version="1.1"
|
|
||||||
id="svg4"
|
|
||||||
sodipodi:docname="arrow-right.svg"
|
|
||||||
inkscape:version="1.0 (4035a4f, 2020-05-01)">
|
|
||||||
<metadata
|
|
||||||
id="metadata10">
|
|
||||||
<rdf:RDF>
|
|
||||||
<cc:Work
|
|
||||||
rdf:about="">
|
|
||||||
<dc:format>image/svg+xml</dc:format>
|
|
||||||
<dc:type
|
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
||||||
<dc:title />
|
|
||||||
</cc:Work>
|
|
||||||
</rdf:RDF>
|
|
||||||
</metadata>
|
|
||||||
<defs
|
|
||||||
id="defs8" />
|
|
||||||
<sodipodi:namedview
|
|
||||||
inkscape:document-rotation="0"
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
bordercolor="#666666"
|
|
||||||
borderopacity="1"
|
|
||||||
objecttolerance="10"
|
|
||||||
gridtolerance="10"
|
|
||||||
guidetolerance="10"
|
|
||||||
inkscape:pageopacity="0"
|
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:window-width="1920"
|
|
||||||
inkscape:window-height="994"
|
|
||||||
id="namedview6"
|
|
||||||
showgrid="false"
|
|
||||||
inkscape:zoom="26.25"
|
|
||||||
inkscape:cx="3.61814"
|
|
||||||
inkscape:cy="6.3770448"
|
|
||||||
inkscape:window-x="0"
|
|
||||||
inkscape:window-y="24"
|
|
||||||
inkscape:window-maximized="1"
|
|
||||||
inkscape:current-layer="svg4" />
|
|
||||||
<path
|
|
||||||
d="M 0.38490149,9.1574888 5.1855781,4.9999822 0.38490149,0.84250696 Z"
|
|
||||||
fill="#8b4513"
|
|
||||||
stroke="#8b4513"
|
|
||||||
id="path2"
|
|
||||||
inkscape:export-xdpi="300"
|
|
||||||
inkscape:export-ydpi="300"
|
|
||||||
style="stroke-width:0.769803" />
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 1.7 KiB |
|
@ -1,3 +0,0 @@
|
||||||
<svg width="13" height="8" viewBox="0 0 13 8" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M1.09926 7L6.5 0.763763L11.9007 7H1.09926Z" stroke="#8B4513"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 173 B |
|
@ -1,3 +0,0 @@
|
||||||
<svg width="13" height="8" viewBox="0 0 13 8" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M1.09926 7L6.5 0.763763L11.9007 7H1.09926Z" stroke="#8B4513"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 173 B |
|
@ -1,3 +0,0 @@
|
||||||
<svg width="13" height="8" viewBox="0 0 13 8" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M1.09926 7L6.5 0.763763L11.9007 7H1.09926Z" fill="#8B4513" stroke="#8B4513"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 188 B |
Before Width: | Height: | Size: 131 B After Width: | Height: | Size: 294 B |
Before Width: | Height: | Size: 94 B After Width: | Height: | Size: 281 B |
Before Width: | Height: | Size: 422 B |
Before Width: | Height: | Size: 318 B |
Before Width: | Height: | Size: 291 B |
Before Width: | Height: | Size: 484 B |
Before Width: | Height: | Size: 219 B |
|
@ -1,3 +0,0 @@
|
||||||
<svg width="16" height="12" viewBox="0 0 16 12" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M2 5L7.5 10.5L14 2" stroke="#8B4513" stroke-width="2.5" stroke-linecap="square" stroke-linejoin="round"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 218 B |
|
@ -1,3 +0,0 @@
|
||||||
<svg width="7" height="7" viewBox="0 0 7 7" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<circle cx="3.5" cy="3.5" r="3" fill="#F6F6F6" stroke="#8B4513"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 165 B |
Before Width: | Height: | Size: 440 B |
Before Width: | Height: | Size: 454 B |
Before Width: | Height: | Size: 444 B |