Merge branch 'develop' of https://github.com/vivo-project/VIVO into develop

This commit is contained in:
Holly Mistlebauer 2013-12-08 00:02:10 -05:00
commit 3bd44b3bd5
31 changed files with 688 additions and 2745 deletions

View file

@ -38,10 +38,5 @@ productMods/js/visualization/entitycomparison/jquery_plugins/*
# PROBLEM: Can't find any info on licensing.
productMods/js/jquery_plugins/jquery.truncator.js
# See /doc/3rd-party-licenses.txt for LICENSE file
src/edu/cornell/mannlib/semservices/util/ObjectUtils.java
src/edu/cornell/mannlib/semservices/util/XMLGregorianCalendarConverter.java
src/edu/cornell/mannlib/vitro/webapp/utils/ConceptSearchService/BeanToJsonSerializer.java
# Part of the OpenSocial integration - should this really be under the Apache license?
themes/wilma/css/openSocial/gadgets.css

View file

@ -24,6 +24,9 @@ dwr
ezmorph
gson
jakarta-jstl
jackson-annotations-2.3.0
jackson-core-2.3.0
jackson-databind-2.3.0
jarjar
jmeter
joda-time

View file

@ -0,0 +1 @@
edu.cornell.mannlib.vitro.webapp.reasoner.plugin.DisableSameAs

View file

@ -290,6 +290,7 @@ a#manageLabels {
border-bottom: 1px solid #DDE4E3;
padding-bottom:1px;
margin-bottom:8px;
padding-top:18px;
}
#individual-info div#contactContainer h3{
color:#8aa149;

View file

@ -18,14 +18,14 @@ $(document).ready(function(){
buildGlobalMap();
$(this).addClass("selected");
$('a#countryLink').removeClass("selected");
$('a#nyLink').removeClass("selected");
$('a#localLink').removeClass("selected");
});
$('a#countryLink').click(function() {
buildCountryMap();
$(this).addClass("selected");
$('a#globalLink').removeClass("selected");
$('a#nyLink').removeClass("selected");
$('a#localLink').removeClass("selected");
});
$('a#localLink').click(function() {
@ -369,10 +369,11 @@ $(document).ready(function(){
var html = i18nStrings.currentlyNoResearchers;
$('section#home-geo-focus div#timeIndicatorGeo span').html(html);
$('section#home-geo-focus').css("height","175px");
$('section#home-geo-focus div#timeIndicator').css("margin-top","50px");
$('section#home-geo-focus div#timeIndicatorGeo').css("margin-top","50px");
$('section#home-geo-focus div#mapGlobal').hide();
$('section#home-geo-focus div#mapCountry').hide();
$('section#home-geo-focus div#mapLocal').hide();
$('section#home-geo-focus div#mapControls').hide();
}
else {
$.each(results, function() {

View file

@ -60,7 +60,7 @@ $(document).ready(function(){
getFacultyMembers();
}
else {
individualList = "<p><li>" + i18nStrings.noFacultyFound + "</li></p>";
individualList = "<p><li style='padding-left:1.2em'>" + i18nStrings.noFacultyFound + "</li></p>";
$('div#tempSpacing').hide();
$('div#research-faculty-mbrs ul#facultyThumbs').append(individualList);
}
@ -95,7 +95,7 @@ $(document).ready(function(){
});
}
else {
individualList = "<p><li>" + i18nStrings.noFacultyFound + "</li></p>";
individualList = "<p><li style='padding-left:1.2em'>" + i18nStrings.noFacultyFound + "</li></p>";
$('div#tempSpacing').hide();
$('div#research-faculty-mbrs ul#facultyThumbs').append(individualList);
$('div#research-faculty-mbrs ul#facultyThumbs').css("padding", "1.0em 0 0.825em 0.75em");

View file

@ -61,7 +61,7 @@
<@p.verboseDisplay title />
</#if>
<#list title.statements as statement>
<span class="display-title<#if editable>-editable</#if>">${statement.preferredTitle}</span>
<span class="display-title<#if editable>-editable<#else>-not-editable</#if>">${statement.preferredTitle}</span>
<@p.editingLinks "${title.localName}" "${title.name}" statement editable title.rangeUri />
</#list>
</#if>
@ -96,6 +96,9 @@
<!-- Research Areas -->
<#include "individual-researchAreas.ftl">
<!-- Geographic Focus -->
<#include "individual-geographicFocus.ftl">
<!-- Contact and Webpages -->
<div id="contactsWebpages">
<div id="contactContainer" >

View file

@ -69,7 +69,7 @@
<#if title?has_content> <#-- true when the property is in the list, even if not populated (when editing) -->
<#if (title.statements?size < 1) >
<@p.addLinkWithLabel title editable />
<#else>
<#elseif editable>
<h2 id="preferredTitle">${title.name?capitalize!}</h2>
<@p.verboseDisplay title />
</#if>

View file

@ -141,7 +141,7 @@
</#if>
</#list>
<#if !foundClassGroup>
<p><li>${i18n().no_research_content_found}</li></p>
<p><li style="padding-left:1.2em">${i18n().no_research_content_found}</li></p>
</#if>
</ul>
</section>

View file

@ -952,6 +952,8 @@ local:outputOfConfig a :ObjectPropertyDisplayConfig ;
vitro:displayRankAnnot 80 ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
vitro:offerCreateNewOptionAnnot "true"^^xsd:boolean ;
vitro:selectFromExistingAnnot "true"^^xsd:boolean ;
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupoverview> .
local:hasOutputContext a :ConfigContext ;
@ -966,6 +968,8 @@ local:hasOutputConfig a :ObjectPropertyDisplayConfig ;
vitro:displayRankAnnot 80 ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
vitro:offerCreateNewOptionAnnot "true"^^xsd:boolean ;
vitro:selectFromExistingAnnot "true"^^xsd:boolean ;
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupbibliographic> .
@ -1145,7 +1149,7 @@ local:eventsForSeriesConfig a :ObjectPropertyDisplayConfig ;
local:eventLocationContext a :ConfigContext ;
:hasConfiguration local:eventLocationConfig ;
:configContextFor <http://purl.obolibrary.org/obo/RO_0001025> ;
:configContextFor <http://purl.obolibrary.org/obo/RO_0001025> ; ## located in
:qualifiedByDomain <http://purl.org/NET/c4dm/event.owl#Event> ;
:qualifiedBy vivo:GeographicLocation .
@ -1155,11 +1159,13 @@ local:eventLocationConfig a :ObjectPropertyDisplayConfig ;
vitro:displayRankAnnot 30;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
vitro:offerCreateNewOptionAnnot "true"^^xsd:boolean ;
vitro:selectFromExistingAnnot "true"^^xsd:boolean ;
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupaddress> .
local:eventInFacilityContext a :ConfigContext ;
:hasConfiguration local:eventInFacilityConfig ;
:configContextFor <http://purl.obolibrary.org/obo/RO_0001025> ;
:configContextFor <http://purl.obolibrary.org/obo/RO_0001025> ; ## located in
:qualifiedByDomain <http://purl.org/NET/c4dm/event.owl#Event> ;
:qualifiedBy vivo:Facility .
@ -1169,25 +1175,45 @@ local:eventInFacilityConfig a :ObjectPropertyDisplayConfig ;
vitro:displayRankAnnot 29;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
vitro:offerCreateNewOptionAnnot "true"^^xsd:boolean ;
vitro:selectFromExistingAnnot "true"^^xsd:boolean ;
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupaddress> .
local:organizationLocationContext a :ConfigContext ;
:hasConfiguration local:organizationLocationConfig ;
:configContextFor <http://purl.obolibrary.org/obo/RO_0001025> ;
:qualifiedByDomain <http://xmlns.com/foaf/0.1/Organization> ;
:qualifiedBy vivo:GeographicLocation .
local:agentInGeoLocationContext a :ConfigContext ;
:hasConfiguration local:agentInGeoLocationConfig ;
:configContextFor <http://purl.obolibrary.org/obo/RO_0001025> ; ## located in
:qualifiedByDomain <http://xmlns.com/foaf/0.1/Agent> ;
:qualifiedBy vivo:GeographicLocation .
local:organizationLocationConfig a :ObjectPropertyDisplayConfig ;
local:agentInGeoLocationConfig a :ObjectPropertyDisplayConfig ;
:listViewConfigFile "listViewConfig-default.xml"^^xsd:string ;
:displayName "geographic location" ;
vitro:displayRankAnnot 30;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
vitro:offerCreateNewOptionAnnot "true"^^xsd:boolean ;
vitro:selectFromExistingAnnot "true"^^xsd:boolean ;
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupaddress> .
local:agentInFacilityContext a :ConfigContext ;
:hasConfiguration local:agentInFacilityConfig ;
:configContextFor <http://purl.obolibrary.org/obo/RO_0001025> ; ## located in
:qualifiedByDomain <http://xmlns.com/foaf/0.1/Agent> ;
:qualifiedBy vivo:Facility .
local:agentInFacilityConfig a :ObjectPropertyDisplayConfig ;
:listViewConfigFile "listViewConfig-default.xml"^^xsd:string ;
:displayName "located in facility" ;
vitro:displayRankAnnot 32;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
vitro:offerCreateNewOptionAnnot "true"^^xsd:boolean ;
vitro:selectFromExistingAnnot "true"^^xsd:boolean ;
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupaddress> .
local:materialEntityInFacilityContext a :ConfigContext ;
:hasConfiguration local:materialEntityInFacilityConfig ;
:configContextFor <http://purl.obolibrary.org/obo/RO_0001025> ;
:configContextFor <http://purl.obolibrary.org/obo/RO_0001025> ; ## located in
:qualifiedByDomain <http://purl.obolibrary.org/obo/BFO_0000040> ;
:qualifiedBy vivo:Facility .
@ -1197,6 +1223,8 @@ local:materialEntityInFacilityConfig a :ObjectPropertyDisplayConfig ;
vitro:displayRankAnnot 2;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
vitro:offerCreateNewOptionAnnot "true"^^xsd:boolean ;
vitro:selectFromExistingAnnot "true"^^xsd:boolean ;
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupaddress> .
local:hasRoomContext a :ConfigContext ;
@ -1208,7 +1236,7 @@ local:hasRoomContext a :ConfigContext ;
local:hasRoomConfig a :ObjectPropertyDisplayConfig ;
:listViewConfigFile "listViewConfig-default.xml"^^xsd:string ;
:displayName "rooms" ;
vitro:displayRankAnnot 22;
vitro:displayRankAnnot 30;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
vitro:selectFromExistingAnnot "true"^^xsd:boolean ;
@ -1227,82 +1255,111 @@ local:roomWithinBuildingConfig a :ObjectPropertyDisplayConfig ;
vitro:displayRankAnnot 23;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
vitro:offerCreateNewOptionAnnot "true"^^xsd:boolean ;
vitro:selectFromExistingAnnot "true"^^xsd:boolean ;
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupoverview> .
local:geographicLocationContainsBuildingContext a :ConfigContext ;
:hasConfiguration local:geographicalLocationContainsBuildingConfig ;
:hasConfiguration local:geographicLocationContainsBuildingConfig ;
:configContextFor <http://purl.obolibrary.org/obo/BFO_0000051> ;
:qualifiedByDomain vivo:GeographicLocation ;
:qualifiedBy vivo:Building .
local:geographicLocationContainsBuildingConfig a :ObjectPropertyDisplayConfig ;
:listViewConfigFile "listViewConfig-default.xml"^^xsd:string ;
:displayName "geographical location for facility" ;
vitro:displayRankAnnot 26;
:displayName "location of facility" ;
vitro:displayRankAnnot 85;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
vitro:offerCreateNewOptionAnnot "true"^^xsd:boolean ;
vitro:selectFromExistingAnnot "true"^^xsd:boolean ;
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupoverview> .
local:bldgGeographicallyWithinContext a :ConfigContext ;
:hasConfiguration local:bldgGeographicallyWithinConfig ;
local:siteGeographicallyWithinGeoLocationContext a :ConfigContext ;
:hasConfiguration local:siteGeographicallyWithinGeoLocationConfig ;
:configContextFor <http://purl.obolibrary.org/obo/BFO_0000050> ;
:qualifiedByDomain <http://purl.obolibrary.org/obo/BFO_0000029> ; ## Site
:qualifiedBy vivo:GeographicLocation .
local:bldgGeographicallyWithinConfig a :ObjectPropertyDisplayConfig ;
local:siteGeographicallyWithinGeoLocationConfig a :ObjectPropertyDisplayConfig ;
:listViewConfigFile "listViewConfig-default.xml"^^xsd:string ;
:displayName "geographically within" ;
vitro:displayRankAnnot 40;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
vitro:offerCreateNewOptionAnnot "true"^^xsd:boolean ;
vitro:selectFromExistingAnnot "true"^^xsd:boolean ;
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupoverview> .
local:facilitySiteOfEventContext a :ConfigContext ;
:hasConfiguration local:facilitySiteOfEventConfig ;
:configContextFor <http://purl.obolibrary.org/obo/RO_0001015> ; ## location of
:qualifiedByDomain vivo:Facility ; ## was <http://purl.obolibrary.org/obo/BFO_0000029> ## Site
:qualifiedBy <http://purl.org/NET/c4dm/event.owl#Event> . ## was <http://purl.obolibrary.org/obo/BFO_0000004> ## Independent Continuant
local:facilitySiteOfEventConfig a :ObjectPropertyDisplayConfig ;
:listViewConfigFile "listViewConfig-default.xml"^^xsd:string ;
:displayName "facility for event" ;
vitro:displayRankAnnot 22;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
vitro:offerCreateNewOptionAnnot "true"^^xsd:boolean ;
vitro:selectFromExistingAnnot "true"^^xsd:boolean ;
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupoverview> .
local:facilitySiteOfAgentContext a :ConfigContext ;
:hasConfiguration local:facilitySiteOfAgentConfig ;
:configContextFor <http://purl.obolibrary.org/obo/RO_0001015> ; ## location of
:qualifiedByDomain vivo:Facility ; ## was <http://purl.obolibrary.org/obo/BFO_0000029> ## Site
:qualifiedBy <http://xmlns.com/foaf/0.1/Agent> . ## was <http://purl.obolibrary.org/obo/BFO_0000004> ## Independent Continuant
local:facilitySiteOfAgentConfig a :ObjectPropertyDisplayConfig ;
:listViewConfigFile "listViewConfig-default.xml"^^xsd:string ;
:displayName "facility for person, group, or organization" ;
vitro:displayRankAnnot 20;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
vitro:offerCreateNewOptionAnnot "true"^^xsd:boolean ;
vitro:selectFromExistingAnnot "true"^^xsd:boolean ;
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupoverview> .
local:bldgGeographicaLocationOfContext a :ConfigContext ;
:hasConfiguration local:bldgGeographicaLocationOfConfig ;
:configContextFor <http://purl.obolibrary.org/obo/RO_0001015> ;
:qualifiedByDomain <http://purl.obolibrary.org/obo/BFO_0000029> ;
:qualifiedBy <http://purl.obolibrary.org/obo/BFO_0000004> .
# uses and used by need work -- apply to continuants and occurrents, and material entities as well as information content entities
#local:projectUsesMaterialEntityContext a :ConfigContext ;
# :hasConfiguration local:projectUsesMaterialEntityConfig ;
# :configContextFor <http://purl.obolibrary.org/obo/ERO_0000031> ;
# :qualifiedByDomain vivo:Project ;
# :qualifiedBy <http://purl.obolibrary.org/obo/BFO_0000040> . ## Material Entity
local:bldgGeographicaLocationOfConfig a :ObjectPropertyDisplayConfig ;
:listViewConfigFile "listViewConfig-default.xml"^^xsd:string ;
:displayName "geographic location of" ;
vitro:displayRankAnnot 21;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupoverview> .
#local:projectUsesMaterialEntityConfig a :ObjectPropertyDisplayConfig ;
# :listViewConfigFile "listViewConfig-default.xml"^^xsd:string ;
# :displayName "uses specimen, equipment, instrument, organism, reagent, or software" ;
# vitro:displayRankAnnot 85;
# vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
# vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
# vitro:offerCreateNewOptionAnnot "true"^^xsd:boolean ;
# vitro:selectFromExistingAnnot "true"^^xsd:boolean ;
# :propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupoverview> .
local:projectUsesMaterialEntityContext a :ConfigContext ;
:hasConfiguration local:projectUsesMaterialEntityConfig ;
:configContextFor <http://purl.obolibrary.org/obo/ERO_0000031> ;
:qualifiedByDomain vivo:Project ;
:qualifiedBy <http://purl.obolibrary.org/obo/BFO_0000040> . ## Material Entity
#local:materialEntityUsedByProjectContext a :ConfigContext ;
# :hasConfiguration local:MaterialEntityUsedByProjectConfig ;
# :configContextFor <http://purl.obolibrary.org/obo/ERO_0000070> ;
# :qualifiedByDomain <http://purl.obolibrary.org/obo/BFO_0000040> ; ## Material Entity
# :qualifiedBy vivo:Project .
local:projectUsesMaterialEntityConfig a :ObjectPropertyDisplayConfig ;
:listViewConfigFile "listViewConfig-default.xml"^^xsd:string ;
:displayName "uses equipment or instrument" ;
vitro:displayRankAnnot 85;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupoverview> .
local:materialEntityUsedByProjectContext a :ConfigContext ;
:hasConfiguration local:MaterialEntityUsedByProjectConfig ;
:configContextFor <http://purl.obolibrary.org/obo/ERO_0000070> ;
:qualifiedByDomain <http://purl.obolibrary.org/obo/BFO_0000040> ; ## Material Entity
:qualifiedBy vivo:Project .
local:materialEntityUsedByProjectConfig a :ObjectPropertyDisplayConfig ;
:listViewConfigFile "listViewConfig-default.xml"^^xsd:string ;
:displayName "used by project" ;
vitro:displayRankAnnot 85;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupoverview> .
#local:materialEntityUsedByProjectConfig a :ObjectPropertyDisplayConfig ;
# :listViewConfigFile "listViewConfig-default.xml"^^xsd:string ;
# :displayName "used by project" ;
# vitro:displayRankAnnot 85;
# vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
# vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
# vitro:offerCreateNewOptionAnnot "true"^^xsd:boolean ;
# vitro:selectFromExistingAnnot "true"^^xsd:boolean ;
# :propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupoverview> .
local:facilityLocationOfEquipmentContext a :ConfigContext ;
:hasConfiguration local:facilityLocationOfEquipmentConfig ;
:configContextFor <http://purl.obolibrary.org/obo/RO_0001015> ;
:configContextFor <http://purl.obolibrary.org/obo/RO_0001015> ; ## location of
:qualifiedByDomain <http://purl.obolibrary.org/obo/BFO_0000029> ; ## Site
:qualifiedBy <http://purl.obolibrary.org/obo/BFO_0000040> . ## Material Entity
@ -1312,11 +1369,13 @@ local:facilityLocationOfEquipmentConfig a :ObjectPropertyDisplayConfig ;
vitro:displayRankAnnot 14;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupaffiliation> .
vitro:offerCreateNewOptionAnnot "true"^^xsd:boolean ;
vitro:selectFromExistingAnnot "true"^^xsd:boolean ;
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupoverview> .
local:facilityLocationOfServiceContext a :ConfigContext ;
:hasConfiguration local:facilityLocationOfServiceConfig ;
:configContextFor <http://purl.obolibrary.org/obo/RO_0001015> ;
:configContextFor <http://purl.obolibrary.org/obo/RO_0001015> ; ## location of
:qualifiedByDomain vivo:Facility ;
:qualifiedBy <http://purl.obolibrary.org/obo/ERO_0000005> .
@ -1326,7 +1385,7 @@ local:facilityLocationOfServiceConfig a :ObjectPropertyDisplayConfig ;
vitro:displayRankAnnot 18;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupaffiliation> ;
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupoverview> ;
vitro:publicDescriptionAnnot "This relates a facility as being used for a particular service."^^xsd:string ;
vitro:offerCreateNewOptionAnnot "true"^^xsd:boolean ;
vitro:selectFromExistingAnnot "true"^^xsd:boolean .
@ -1343,6 +1402,8 @@ local:courseOfferedByConfig a :ObjectPropertyDisplayConfig ;
vitro:displayRankAnnot 2;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
vitro:offerCreateNewOptionAnnot "true"^^xsd:boolean ;
vitro:selectFromExistingAnnot "true"^^xsd:boolean ;
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupoverview> .
local:orgOffersCourseContext a :ConfigContext ;
@ -1459,6 +1520,8 @@ local:grantHasSubgrantConfig a :ObjectPropertyDisplayConfig ;
vitro:displayRankAnnot 30;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
vitro:offerCreateNewOptionAnnot "true"^^xsd:boolean ;
vitro:selectFromExistingAnnot "true"^^xsd:boolean ;
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupoverview> .
local:grantIsSubgrantOfContext a :ConfigContext ;
@ -1473,6 +1536,8 @@ local:grantIsSubgrantOfConfig a :ObjectPropertyDisplayConfig ;
vitro:displayRankAnnot 32;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
vitro:offerCreateNewOptionAnnot "true"^^xsd:boolean ;
vitro:selectFromExistingAnnot "true"^^xsd:boolean ;
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupoverview> .
local:grantGeographicFocusContext a :ConfigContext ;
@ -1487,6 +1552,8 @@ local:grantGeographicFocusConfig a :ObjectPropertyDisplayConfig ;
vitro:displayRankAnnot 20;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
vitro:offerCreateNewOptionAnnot "true"^^xsd:boolean ;
vitro:selectFromExistingAnnot "true"^^xsd:boolean ;
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupoverview> .
local:awardOrHonorReceiptsContext a :ConfigContext ;
@ -1576,7 +1643,7 @@ local:orgAwardsGrantConfig a :ObjectPropertyDisplayConfig ;
local:addressLocationContext a :ConfigContext ;
:hasConfiguration local:addressLocationConfig ;
:configContextFor <http://purl.obolibrary.org/obo/RO_0001025> ;
:configContextFor <http://purl.obolibrary.org/obo/RO_0001025> ; ## located in
:qualifiedByDomain <http://www.w3.org/2006/vcard/ns#Address> ;
:qualifiedBy vivo:GeographicLocation .
@ -1586,6 +1653,7 @@ local:addressLocationConfig a :ObjectPropertyDisplayConfig ;
vitro:displayRankAnnot 2;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
vitro:offerCreateNewOptionAnnot "true"^^xsd:boolean ;
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGrouplocation> .
### roles using the BFO_0000055 property ###
@ -1647,4 +1715,4 @@ local:yearAwardedConfig a :ObjectPropertyDisplayConfig ;
vitro:displayRankAnnot 10;
vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ;
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGrouptime> .
:propertyGroup <http://vivoweb.org/ontology#vitroPropertyGroupoverview> .

View file

@ -1132,17 +1132,8 @@
<owl:Class>
<owl:unionOf rdf:parseType="Collection">
<rdf:Description rdf:about="http://purl.obolibrary.org/obo/ERO_0000004"/>
<rdf:Description rdf:about="http://purl.obolibrary.org/obo/ERO_0000008"/>
<rdf:Description rdf:about="http://purl.obolibrary.org/obo/ERO_0000009"/>
<rdf:Description rdf:about="http://purl.obolibrary.org/obo/ERO_0000020"/>
<rdf:Description rdf:about="http://purl.obolibrary.org/obo/ERO_0000161"/>
<rdf:Description rdf:about="http://purl.obolibrary.org/obo/ERO_0000162"/>
<rdf:Description rdf:about="http://purl.obolibrary.org/obo/ERO_0000285"/>
<rdf:Description rdf:about="http://purl.obolibrary.org/obo/ERO_0000630"/>
<rdf:Description rdf:about="http://purl.obolibrary.org/obo/ERO_0001194"/>
<rdf:Description rdf:about="http://purl.obolibrary.org/obo/ERO_0001200"/>
<rdf:Description rdf:about="http://purl.obolibrary.org/obo/OBI_0100026"/>
<rdf:Description rdf:about="http://purl.obolibrary.org/obo/OBI_0400147"/>
</owl:unionOf>
</owl:Class>
</rdfs:domain>
@ -1259,30 +1250,6 @@
<!-- http://purl.obolibrary.org/obo/ERO_0000405 -->
<owl:DatatypeProperty rdf:about="http://purl.obolibrary.org/obo/ERO_0000405">
<obo:IAO_0000117 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">PERSON: Melissa Haendel</obo:IAO_0000117>
<obo:IAO_0000119 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">PERSON: Melissa Haendel</obo:IAO_0000119>
<obo:IAO_0000112 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">The accession number for a gene.</obo:IAO_0000112>
<obo:IAO_0000115 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Unique identifier of a biological polymer sequence (DNA, RNA, protein) when it is submitted to a sequence database.</obo:IAO_0000115>
<obo:IAO_0000111 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">accession number</obo:IAO_0000111>
<obo:IAO_0000114 rdf:resource="http://purl.obolibrary.org/obo/IAO_0000120"/>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
<rdfs:domain>
<owl:Class>
<owl:unionOf rdf:parseType="Collection">
<rdf:Description rdf:about="http://purl.obolibrary.org/obo/ERO_0000161"/>
<rdf:Description rdf:about="http://purl.obolibrary.org/obo/ERO_0000285"/>
<rdf:Description rdf:about="http://purl.obolibrary.org/obo/ERO_0000404"/>
</owl:unionOf>
</owl:Class>
</rdfs:domain>
</owl:DatatypeProperty>
<!-- http://purl.obolibrary.org/obo/ERO_0000424 -->
<owl:DatatypeProperty rdf:about="http://purl.obolibrary.org/obo/ERO_0000424">

View file

@ -738,7 +738,7 @@
<owl:Class rdf:about="http://aims.fao.org/aos/geopolitical.owl#geographical_region">
<rdfs:subClassOf rdf:resource="http://aims.fao.org/aos/geopolitical.owl#group"/>
<rdfs:subClassOf rdf:resource="http://vivoweb.org/ontology/core#TransnationalRegion"/>
<rdfs:subClassOf rdf:resource="http://vivoweb.org/ontology/core#GeographicRegion"/>
<terms:source rdf:datatype="http://www.w3.org/2001/XMLSchema#string">United Nations statistics department http://unstats.un.org/unsd/methods/m49/m49regin.htm</terms:source>
</owl:Class>
@ -1081,8 +1081,7 @@
<!-- http://vivoweb.org/ontology/core#Continent -->
<owl:Class rdf:about="http://vivoweb.org/ontology/core#Continent">
<rdfs:subClassOf rdf:resource="http://vivoweb.org/ontology/core#TransnationalRegion"/>
<rdfs:subClassOf rdf:resource="http://vivoweb.org/ontology/core#GeographicRegion"/>
<obo:IAO_0000115 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">A large contiguous landmass that is at least partially surrounded by water, together with any islands on its continental shelf.</obo:IAO_0000115>
<obo:IAO_0000112 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Short Definition take from http://en.wiktionary.org/wiki/continent.</obo:IAO_0000112>
<obo:IAO_0000112 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">The seven commonly recognized continents are Africa; Antarctica; Asia; Australia; Europe; North America; South America</obo:IAO_0000112>
@ -1155,21 +1154,7 @@
<obo:IAO_0000115 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Smaller administrative division into which a country may be divided.</obo:IAO_0000115>
</owl:Class>
<!-- http://vivoweb.org/ontology/core#TransnationalRegion -->
<owl:Class rdf:about="http://vivoweb.org/ontology/core#TransnationalRegion">
<rdfs:subClassOf rdf:resource="http://vivoweb.org/ontology/core#GeographicRegion"/>
<obo:IAO_0000115 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Any region that goes beyond national boundaries and does not fit into any subclass of core:TransnationalRegion.</obo:IAO_0000115>
<obo:IAO_0000112 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">None as yet.</obo:IAO_0000112>
<obo:IAO_0000112 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Not sure how to access the &quot;Editor&apos;s Comments&quot;. But as North America is a continent, it would be placed directly into the continent subclass and viewable through this class along with any other subclass entities.</obo:IAO_0000112>
<rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">sub-Saharan Africa, North America</rdfs:comment>
</owl:Class>
</rdf:RDF>
<!-- Generated by the OWL API (version 3.3.1957) http://owlapi.sourceforge.net -->

View file

@ -351,61 +351,6 @@
<!-- http://purl.obolibrary.org/obo/ERO_0000076 -->
<owl:ObjectProperty rdf:about="http://purl.obolibrary.org/obo/ERO_0000076">
<obo:IAO_0000112 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Imaging processing software that requires .jpg format files for analysis.</obo:IAO_0000112>
<obo:IAO_0000117 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">PERSON: Carlo Torniai</obo:IAO_0000117>
<obo:IAO_0000119 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">PERSON: Melissa Haendel</obo:IAO_0000119>
<obo:IAO_0000115 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Software data input format.</obo:IAO_0000115>
<obo:IAO_0000111 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">has input format</obo:IAO_0000111>
<rdfs:range rdf:resource="http://purl.obolibrary.org/obo/ERO_0001554"/>
<obo:IAO_0000114 rdf:resource="http://purl.obolibrary.org/obo/IAO_0000120"/>
<rdfs:domain>
<owl:Class>
<owl:unionOf rdf:parseType="Collection">
<rdf:Description rdf:about="http://purl.obolibrary.org/obo/ERO_0000071"/>
<rdf:Description rdf:about="http://purl.obolibrary.org/obo/ERO_0001716"/>
</owl:unionOf>
</owl:Class>
</rdfs:domain>
</owl:ObjectProperty>
<!-- http://purl.obolibrary.org/obo/ERO_0000077 -->
<owl:ObjectProperty rdf:about="http://purl.obolibrary.org/obo/ERO_0000077">
<obo:IAO_0000112 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Microsoft Excel arranges and saves data in .xlsx format.</obo:IAO_0000112>
<obo:IAO_0000117 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">PERSON: Carlo Torniai</obo:IAO_0000117>
<obo:IAO_0000119 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">PERSON: Melissa Haendel</obo:IAO_0000119>
<obo:IAO_0000115 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Software data output type.</obo:IAO_0000115>
<obo:IAO_0000111 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">has output format</obo:IAO_0000111>
<rdfs:domain rdf:resource="http://purl.obolibrary.org/obo/ERO_0000071"/>
<rdfs:range rdf:resource="http://purl.obolibrary.org/obo/ERO_0001554"/>
<obo:IAO_0000114 rdf:resource="http://purl.obolibrary.org/obo/IAO_0000120"/>
</owl:ObjectProperty>
<!-- http://purl.obolibrary.org/obo/ERO_0000078 -->
<owl:ObjectProperty rdf:about="http://purl.obolibrary.org/obo/ERO_0000078">
<obo:IAO_0000112 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">ImageJ software measures characteristics of digital images.</obo:IAO_0000112>
<obo:IAO_0000117 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">PERSON: Carlo Torniai</obo:IAO_0000117>
<obo:IAO_0000119 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">PERSON: Melissa Haendel</obo:IAO_0000119>
<obo:IAO_0000115 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Transformation objective of the software.</obo:IAO_0000115>
<obo:IAO_0000111 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">achieves objective</obo:IAO_0000111>
<rdfs:domain rdf:resource="http://purl.obolibrary.org/obo/ERO_0000071"/>
<obo:IAO_0000114 rdf:resource="http://purl.obolibrary.org/obo/IAO_0000120"/>
<rdfs:range rdf:resource="http://purl.obolibrary.org/obo/OBI_0200166"/>
</owl:ObjectProperty>
<!-- http://purl.obolibrary.org/obo/ERO_0000390 -->
<owl:ObjectProperty rdf:about="http://purl.obolibrary.org/obo/ERO_0000390">
@ -631,24 +576,6 @@
<!-- http://purl.obolibrary.org/obo/ERO_0001057 -->
<owl:ObjectProperty rdf:about="http://purl.obolibrary.org/obo/ERO_0001057">
<obo:IAO_0000117 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">PERSON: Melissa Haendel</obo:IAO_0000117>
<obo:IAO_0000119 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">PERSON: Melissa Haendel</obo:IAO_0000119>
<obo:IAO_0000112 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Paraffin embedding of tissue.</obo:IAO_0000112>
<obo:IAO_0000115 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Technique used to prepare the biological specimen.</obo:IAO_0000115>
<obo:IAO_0000111 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">has preparation technique</obo:IAO_0000111>
<rdfs:domain rdf:resource="http://purl.obolibrary.org/obo/ERO_0000020"/>
<rdfs:subPropertyOf rdf:resource="http://purl.obolibrary.org/obo/ERO_0000543"/>
<rdfs:range rdf:resource="http://purl.obolibrary.org/obo/ERO_0001707"/>
<obo:IAO_0000114 rdf:resource="http://purl.obolibrary.org/obo/IAO_0000120"/>
</owl:ObjectProperty>
<!-- http://purl.obolibrary.org/obo/ERO_0001518 -->
<owl:ObjectProperty rdf:about="http://purl.obolibrary.org/obo/ERO_0001518">
@ -699,48 +626,6 @@
<!-- http://purl.obolibrary.org/obo/ERO_0001811 -->
<owl:ObjectProperty rdf:about="http://purl.obolibrary.org/obo/ERO_0001811">
<rdfs:domain rdf:resource="http://purl.obolibrary.org/obo/ERO_0001554"/>
<rdfs:range rdf:resource="http://purl.obolibrary.org/obo/IAO_0000098"/>
</owl:ObjectProperty>
<!-- http://purl.obolibrary.org/obo/ERO_0001824 -->
<owl:ObjectProperty rdf:about="http://purl.obolibrary.org/obo/ERO_0001824">
<obo:IAO_0000115 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Is a legal instrument (usually by way of contract law) governing the usage or redistribution of software.</obo:IAO_0000115>
<obo:IAO_0000117 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">PERSON: Scott Hoffmann</obo:IAO_0000117>
<obo:IAO_0000119 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">http://en.wikipedia.org/wiki/Software_license</obo:IAO_0000119>
<rdfs:domain rdf:resource="http://purl.obolibrary.org/obo/ERO_0000071"/>
<rdfs:range rdf:resource="http://www.ebi.ac.uk/swo/SWO_0000002"/>
</owl:ObjectProperty>
<!-- http://purl.obolibrary.org/obo/ERO_0001908 -->
<owl:ObjectProperty rdf:about="http://purl.obolibrary.org/obo/ERO_0001908">
<rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Links an objective to a software operation whise execution achieves the objective. Is different from OBI:objective_achieved_by which links an objective to the process that achieves it.</rdfs:comment>
<obo:IAO_0000117 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">PERSON:Matthew Brush</obo:IAO_0000117>
<obo:IAO_0000119 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">PERSON:Matthew Brush</obo:IAO_0000119>
<obo:IAO_0000115 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">a relation between a software objective (data transformation objective) and an operation whose execution in a software tool achieves the objective</obo:IAO_0000115>
<obo:IAO_0000116 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">software relation expanding to something like:
objective_achieved_by some (&apos;software/algorithm execution&apos; and (specified_by some &apos;data processing operation&apos;))</obo:IAO_0000116>
<rdfs:range rdf:resource="http://purl.obolibrary.org/obo/ERO_0100287"/>
<rdfs:domain rdf:resource="http://purl.obolibrary.org/obo/OBI_0200166"/>
</owl:ObjectProperty>
<!-- http://purl.obolibrary.org/obo/IAO_0000039 -->
<owl:ObjectProperty rdf:about="http://purl.obolibrary.org/obo/IAO_0000039">
@ -1935,14 +1820,6 @@ there is a measurement process p that has specified output m, a measurement datu
<!-- http://www.w3.org/2006/vcard/ns#hasRole -->
<owl:ObjectProperty rdf:about="http://www.w3.org/2006/vcard/ns#hasRole">
<rdfs:range rdf:resource="http://www.w3.org/2006/vcard/ns#Role"/>
</owl:ObjectProperty>
<!-- http://www.w3.org/2006/vcard/ns#hasSound -->

View file

@ -153,6 +153,7 @@
<owl:Class rdf:about="http://purl.obolibrary.org/obo/ERO_0000014">
<rdfs:subClassOf rdf:resource="http://purl.obolibrary.org/obo/OBI_0000011"/>
<rdfs:subClassOf rdf:resource="http://vivoweb.org/ontology/core#Project"/>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="http://purl.obolibrary.org/obo/BFO_0000051"/>
@ -491,4 +492,21 @@
<obo:IAO_0000412 rdf:resource="http://purl.obolibrary.org/obo/obi.owl"/>
</owl:Class>
<!-- http://purl.obolibrary.org/obo/OBI_0100026 -->
<owl:Class rdf:about="http://purl.obolibrary.org/obo/OBI_0100026">
<rdfs:subClassOf rdf:resource="http://purl.obolibrary.org/obo/BFO_0000040"/>
<obo:IAO_0000117 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">GROUP: OBI Biomaterial Branch</obo:IAO_0000117>
<obo:IAO_0000115 xml:lang="en">A material entity that is an individual living system, such as animal, plant, bacteria or virus, that is capable of replicating or reproducing, growth and maintenance in the right environment. An organism may be unicellular or made up, like humans, of many billions of cells divided into specialized tissues and organs.</obo:IAO_0000115>
<obo:IAO_0000119 xml:lang="en">WEB: http://en.wikipedia.org/wiki/Organism</obo:IAO_0000119>
<obo:IAO_0000112 xml:lang="en">animal</obo:IAO_0000112>
<obo:IAO_0000112 xml:lang="en">fungus</obo:IAO_0000112>
<obo:IAO_0000111 xml:lang="en">organism</obo:IAO_0000111>
<obo:IAO_0000112 xml:lang="en">plant</obo:IAO_0000112>
<obo:IAO_0000112 xml:lang="en">virus</obo:IAO_0000112>
<obo:IAO_0000114 rdf:resource="http://purl.obolibrary.org/obo/IAO_0000121"/>
<obo:IAO_0000412 rdf:resource="http://purl.obolibrary.org/obo/obi.owl"/>
</owl:Class>
</rdf:RDF>

View file

@ -66,12 +66,10 @@ vivo:dateTimeValue
"5"^^xsd:int ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#nobody> ;
vitro:inPropertyGroupAnnot
<http://vivoweb.org/ontology#vitroPropertyGrouptime> ;
vitro:offerCreateNewOptionAnnot
"true"^^xsd:boolean ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#nobody> ;
vitro:offerCreateNewOptionAnnot
"true"^^xsd:boolean ;
vitro:selectFromExistingAnnot
"false"^^xsd:boolean .
@ -166,7 +164,6 @@ geo:non_self_governing
"-1"^^xsd:int ;
vitro:displayRankAnnot
"-1"^^xsd:int ;
vitro:inClassGroup <http://vivoweb.org/ontology#vitroClassGrouplocations> ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
@ -402,7 +399,8 @@ obo:OBI_0000643
rdfs:label "has grain"@en-US .
obo:OBI_0000272
rdfs:label "Protocol"@en-US .
rdfs:label "Protocol"@en-US ;
vitro:inClassGroup <http://vivoweb.org/ontology#vitroClassGroupresearch> .
vcard:Identification
rdfs:label "Identification"@en-US .
@ -472,29 +470,33 @@ bibo:Manuscript
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> .
owl:sameAs
a owl:ObjectProperty ;
a owl:ObjectProperty ;
rdfs:domain owl:Thing ;
rdfs:label "mismo que"@es , "same as"@en-US ;
rdfs:range owl:Thing ;
rdfs:subPropertyOf owl:topObjectProperty ;
vitro:displayLimitAnnot
"5" ;
vitro:displayRankAnnot
"1"^^xsd:int ;
vitro:forceStubDeletionAnnot
"false"^^xsd:boolean ;
vitro:fullPropertyNameAnnot
"sameAs" ;
vitro:inPropertyGroupAnnot
<http://vivoweb.org/ontology#vitroPropertyGroupmapping> ;
<http://vivoweb.org/ontology#vitroPropertyGroupidentifiers> ;
vitro:offerCreateNewOptionAnnot
"false"^^xsd:boolean ;
"true"^^xsd:boolean ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#nobody> ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#nobody> ;
vitro:publicDescriptionAnnot
"This is the OWL property to link two indivdiuals with the same 'identity'. see http://www.w3.org/TR/owl-ref/#sameAs-def"@en-US ;
vitro:selectFromExistingAnnot
"true"^^xsd:boolean ;
vitro:stubObjectPropertyAnnot
"true"^^xsd:boolean .
"false"^^xsd:boolean .
vcard:hasTimeZone
rdfs:label "has time zone"@en-US .
@ -532,7 +534,6 @@ vivo:SubnationalRegion
"-1"^^xsd:int ;
vitro:displayRankAnnot
"-1"^^xsd:int ;
vitro:inClassGroup <http://vivoweb.org/ontology#vitroClassGrouplocations> ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
@ -547,7 +548,6 @@ geo:territory
"-1"^^xsd:int ;
vitro:displayRankAnnot
"-1"^^xsd:int ;
vitro:inClassGroup <http://vivoweb.org/ontology#vitroClassGrouplocations> ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
@ -556,13 +556,6 @@ geo:territory
vcard:OrganizationName
rdfs:label "Organization Name"@en-US .
obo:ERO_0000076
rdfs:label "has input type"@en-US ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#nobody> ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#nobody> .
vivo:researchAreaOf
rdfs:label "research area of"@en-US ;
vitro:displayLimitAnnot
@ -705,13 +698,6 @@ obo:IAO_0000142
vivo:submitted
rdfs:label "submitted"@en-US .
obo:ERO_0000077
rdfs:label "has output type"@en-US ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#nobody> ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#nobody> .
bibo:Issue
rdfs:label "Issue"@en-US ;
vitro:displayLimitAnnot
@ -797,9 +783,6 @@ vitro:moniker
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#editor> .
obo:ERO_0000078
rdfs:label "achieves objective"@en-US .
geo:codeFAOSTAT
rdfs:label "codeFAOSTAT"@en-US ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot
@ -969,7 +952,6 @@ geo:disputed
"-1"^^xsd:int ;
vitro:displayRankAnnot
"-1"^^xsd:int ;
vitro:inClassGroup <http://vivoweb.org/ontology#vitroClassGrouplocations> ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
@ -1009,9 +991,6 @@ vivo:Continent
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> .
obo:ERO_0001908
rdfs:label "objective achieved by operation"@en-US .
geo:nameOfficialRU
rdfs:label "nameOfficialRU"@en-US ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot
@ -1245,13 +1224,13 @@ obo:IAO_0000007
vivo:expirationDate
rdfs:label "expiration date"@en-US ;
vitro:displayLimitAnnot
"5"^^xsd:int ;
"1"^^xsd:int ;
vitro:displayRankAnnot
"6"^^xsd:int ;
"19"^^xsd:int ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:inPropertyGroupAnnot
<http://vivoweb.org/ontology#vitroPropertyGrouptime> ;
<http://vivoweb.org/ontology#vitroPropertyGroupoverview> ;
vitro:offerCreateNewOptionAnnot
"true"^^xsd:boolean ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
@ -1373,9 +1352,6 @@ vivo:PopulatedPlace
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> .
obo:ERO_0001811
rdfs:label "has format"@en-US .
vivo:FacultyAdministrativePosition
rdfs:label "Faculty Administrative Position"@en-US ;
vitro:displayLimitAnnot
@ -1649,7 +1625,7 @@ vivo:Contract
"-1"^^xsd:int ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:inClassGroup <http://vivoweb.org/ontology#vitroClassGroupresearch> ;
vitro:inClassGroup <http://vivoweb.org/ontology#vitroClassGrouppublications> ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> .
@ -1775,7 +1751,18 @@ vivo:Librarian
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> .
obo:ERO_0000050
rdfs:label "model number"@en-US .
rdfs:label "model number"@en-US ;
vitro:displayLimitAnnot
"2"^^xsd:int ;
vitro:displayRankAnnot
"76"^^xsd:int ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:inPropertyGroupAnnot
<http://vivoweb.org/ontology#vitroPropertyGroupoverview> .
geo:nameCurrencyFR
rdfs:label "nameCurrencyFR"@en-US ;
@ -1858,8 +1845,22 @@ bibo:doi
bibo:accepted
rdfs:label "accepted"@en-US .
obo:ERO_0000070
rdfs:label "used by"@en-US .
obo:ERO_0000070 ## inverse of ERO_0000031
rdfs:label "used by"@en-US ;
# vitro:displayLimitAnnot
# "2"^^xsd:int ;
# vitro:displayRankAnnot
# "15"^^xsd:int ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#nobody> ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#nobody> .
# vitro:inPropertyGroupAnnot
# <http://vivoweb.org/ontology#vitroPropertyGroupoverview> ;
# vitro:selectFromExistingAnnot
# "true"^^xsd:boolean ;
# vitro:offerCreateNewOptionAnnot
# "true"^^xsd:boolean .
vcard:Email
rdfs:label "Email"@en-US .
@ -2293,7 +2294,7 @@ vivo:description
vitro:displayLimitAnnot
"3"^^xsd:int ;
vitro:displayRankAnnot
"5"^^xsd:int ;
"1"^^xsd:int ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:inPropertyGroupAnnot
@ -2518,7 +2519,17 @@ bibo:identifier
"Unique identifier of a document or collection. This data property is not seen or updated by anyone."^^xsd:string .
obo:ERO_0000044
rdfs:label "has inventory number"@en-US .
rdfs:label "inventory number"@en-US ;
vitro:displayLimitAnnot
"2"^^xsd:int ;
vitro:displayRankAnnot
"70"^^xsd:int ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:inPropertyGroupAnnot
<http://vivoweb.org/ontology#vitroPropertyGroupoverview> .
obo:ERO_0001261
rdfs:label "Analysis Service"@en-US ;
@ -2624,9 +2635,6 @@ bibo:Website
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> .
obo:ERO_0001057
rdfs:label "has preparation technique"@en-US .
obo:BFO_0000003
rdfs:label "Occurrent" .
@ -2694,10 +2702,6 @@ obo:ERO_0000045
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:selectFromExistingAnnot
"true"^^xsd:boolean ;
vitro:offerCreateNewOptionAnnot
"true"^^xsd:boolean ;
vitro:inPropertyGroupAnnot
<http://vivoweb.org/ontology#vitroPropertyGroupoverview> .
@ -2882,7 +2886,11 @@ obo:RO_0000052
<http://vitro.mannlib.cornell.edu/ns/vitro/role#nobody> .
obo:OBI_0000299
rdfs:label "has specified output"@en-US .
rdfs:label "has specified output"@en-US ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#nobody> ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#nobody> .
vivo:proceedingsOf
rdfs:label "proceedings of"@en-US ;
@ -3616,7 +3624,21 @@ bibo:Proceedings
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> .
obo:OBI_0000293
rdfs:label "has specified input"@en-US .
rdfs:label "has specified input"@en-US ;
vitro:displayLimitAnnot
"5"^^xsd:int ;
vitro:displayRankAnnot
"105"^^xsd:int ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#nobody> ;
vitro:inPropertyGroupAnnot
<http://vivoweb.org/ontology#vitroPropertyGroupoverview> ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#nobody> ;
vitro:selectFromExistingAnnot
"true"^^xsd:boolean ;
vitro:offerCreateNewOptionAnnot
"true"^^xsd:boolean .
vivo:publisher
rdfs:label "publisher"@en-US ;
@ -3705,7 +3727,7 @@ vivo:seatingCapacity
vitro:hiddenFromDisplayBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:inPropertyGroupAnnot
<http://vivoweb.org/ontology#vitroPropertyGrouplocation> ;
<http://vivoweb.org/ontology#vitroPropertyGroupoverview> ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:publicDescriptionAnnot
@ -3928,7 +3950,23 @@ obo:ERO_0000572
rdfs:label "used to study"@en-US .
obo:RO_0001000
rdfs:label "derives from"@en-US .
rdfs:label "derives from"@en-US ;
## note -- has a "some values from" restriction on Organism <http://purl.obolibrary.org/obo/OBI_0100026>
# vitro:displayLimitAnnot
# "5"^^xsd:int ;
# vitro:displayRankAnnot
# "50"^^xsd:int ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#nobody> ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#nobody> .
# vitro:inPropertyGroupAnnot
# <http://vivoweb.org/ontology#vitroPropertyGroupoverview> ;
# vitro:selectFromExistingAnnot
# "true"^^xsd:boolean ;
# vitro:offerCreateNewOptionAnnot
# "true"^^xsd:boolean .
bibo:gtin14
rdfs:label "Global Trade Item Number (GTIN-14)"@en-US ;
@ -3985,7 +4023,17 @@ vcard:Fax
rdfs:label "Fax"@en-US .
obo:ERO_0001521
rdfs:label "human study performed by"@en-US .
rdfs:label "performed by organization"@en-US ;
vitro:displayRankAnnot
"20"^^xsd:int ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:offerCreateNewOptionAnnot "true"^^xsd:boolean ;
vitro:inPropertyGroupAnnot
<http://vivoweb.org/ontology#vitroPropertyGroupoverview> .
vivo:nihmsid
rdfs:label "NIH Manuscript Submission System ID"@en-US ;
@ -4147,9 +4195,6 @@ vivo:Screenplay
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> .
obo:ERO_0001824
rdfs:label "has software license"@en-US .
geo:nameOfficialAR
rdfs:label "nameOfficialAR"@en-US ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot
@ -4646,22 +4691,22 @@ vcard:hasLanguage
vcard:hasURL
rdfs:label "has URL"@en-US .
obo:ERO_0000482
obo:ERO_0000482 # deprecated
rdfs:label "uses software"@en-US ;
vitro:displayLimitAnnot
"5"^^xsd:int ;
vitro:displayRankAnnot
"92"^^xsd:int ;
# vitro:displayLimitAnnot
# "5"^^xsd:int ;
# vitro:displayRankAnnot
# "92"^^xsd:int ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
<http://vitro.mannlib.cornell.edu/ns/vitro/role#nobody> ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:selectFromExistingAnnot
"true"^^xsd:boolean ;
vitro:offerCreateNewOptionAnnot
"true"^^xsd:boolean ;
vitro:inPropertyGroupAnnot
<http://vivoweb.org/ontology#vitroPropertyGroupoverview> .
<http://vitro.mannlib.cornell.edu/ns/vitro/role#nobody> .
# vitro:selectFromExistingAnnot
# "true"^^xsd:boolean ;
# vitro:offerCreateNewOptionAnnot
# "true"^^xsd:boolean ;
# vitro:inPropertyGroupAnnot
# <http://vivoweb.org/ontology#vitroPropertyGroupoverview> .
vivo:ResearchProposal
rdfs:label "Research Proposal"@en-US ;
@ -5226,18 +5271,6 @@ obo:ERO_0000783
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> .
vivo:TransnationalRegion
rdfs:label "Transnational Region"@en-US ;
vitro:displayLimitAnnot
"-1"^^xsd:int ;
vitro:displayRankAnnot
"-1"^^xsd:int ;
vitro:inClassGroup <http://vivoweb.org/ontology#vitroClassGrouplocations> ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> .
vivo:termLabel
rdfs:label "term label"@en-US ;
vitro:displayRankAnnot
@ -5668,7 +5701,22 @@ geo:nameShortEN
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> .
obo:RO_0003001
rdfs:label "produced by"@en-US .
rdfs:label "produced by"@en-US ;
vitro:displayLimitAnnot
"2"^^xsd:int ;
vitro:displayRankAnnot
"60"^^xsd:int ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:inPropertyGroupAnnot
<http://vivoweb.org/ontology#vitroPropertyGroupoverview> ;
vitro:selectFromExistingAnnot
"true"^^xsd:boolean ;
vitro:offerCreateNewOptionAnnot
"true"^^xsd:boolean .
<http://purl.org/spar/c4o/hasGlobalCountSource>
rdfs:label "has global count source"@en-US ;
@ -5774,7 +5822,22 @@ vivo:hasSuccessorOrganization
"true"^^xsd:boolean .
obo:RO_0003000
rdfs:label "produces"@en-US .
rdfs:label "produces"@en-US ;
vitro:displayLimitAnnot
"2"^^xsd:int ;
vitro:displayRankAnnot
"63"^^xsd:int ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:inPropertyGroupAnnot
<http://vivoweb.org/ontology#vitroPropertyGroupoverview> ;
vitro:selectFromExistingAnnot
"true"^^xsd:boolean ;
vitro:offerCreateNewOptionAnnot
"true"^^xsd:boolean .
vivo:prerequisiteFor
rdfs:label "prerequisite for"@en-US ;
@ -5989,7 +6052,6 @@ vivo:GeopoliticalEntity
"-1"^^xsd:int ;
vitro:displayRankAnnot
"-1"^^xsd:int ;
vitro:inClassGroup <http://vivoweb.org/ontology#vitroClassGrouplocations> ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
@ -6046,7 +6108,22 @@ vcard:Muse
rdfs:label "Muse"@en-US .
obo:ERO_0000034
rdfs:label "has manufacturer"@en-US .
rdfs:label "manufacturer"@en-US ;
# vitro:displayLimitAnnot
# "2"^^xsd:int ;
# vitro:displayRankAnnot
# "73"^^xsd:int ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#nobody> ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#nobody> .
# vitro:inPropertyGroupAnnot
# <http://vivoweb.org/ontology#vitroPropertyGroupoverview> ;
# vitro:selectFromExistingAnnot
# "true"^^xsd:boolean ;
# vitro:offerCreateNewOptionAnnot
# "true"^^xsd:boolean .
geo:area
rdfs:label "Area"@en-US ;
@ -6129,13 +6206,13 @@ geo:nameShortES
vivo:dateIssued
rdfs:label "date issued"@en-US ;
vitro:displayLimitAnnot
"5"^^xsd:int ;
"1"^^xsd:int ;
vitro:displayRankAnnot
"4"^^xsd:int ;
"19"^^xsd:int ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:inPropertyGroupAnnot
<http://vivoweb.org/ontology#vitroPropertyGrouptime> ;
<http://vivoweb.org/ontology#vitroPropertyGroupoverview> ;
vitro:offerCreateNewOptionAnnot
"true"^^xsd:boolean ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
@ -6403,7 +6480,21 @@ vcard:hasRelated
rdfs:label "has related"@en-US .
obo:ERO_0000424
rdfs:label "has study population"@en-US .
rdfs:label "has study population"@en-US ;
vitro:displayLimitAnnot
"5"^^xsd:int ;
vitro:displayRankAnnot
"15"^^xsd:int ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:inPropertyGroupAnnot
<http://vivoweb.org/ontology#vitroPropertyGroupoverview> ;
vitro:selectFromExistingAnnot
"true"^^xsd:boolean ;
vitro:offerCreateNewOptionAnnot
"true"^^xsd:boolean .
obo:ARG_2000079
rdfs:label "American Board of Pathology"@en-US .
@ -6457,7 +6548,22 @@ vivo:distributes
"true"^^xsd:boolean .
obo:OBI_0000304
rdfs:label "is manufactured by"@en-US .
rdfs:label "manufactured by"@en-US ;
vitro:displayLimitAnnot
"2"^^xsd:int ;
vitro:displayRankAnnot
"73"^^xsd:int ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:inPropertyGroupAnnot
<http://vivoweb.org/ontology#vitroPropertyGroupoverview> ;
vitro:selectFromExistingAnnot
"true"^^xsd:boolean ;
vitro:offerCreateNewOptionAnnot
"true"^^xsd:boolean .
vcard:hasFormattedName
rdfs:label "has formatted name"@en-US .
@ -6953,13 +7059,13 @@ vcard:hasSound
vivo:dateFiled
rdfs:label "date filed"@en-US ;
vitro:displayLimitAnnot
"5"^^xsd:int ;
"1"^^xsd:int ;
vitro:displayRankAnnot
"4"^^xsd:int ;
"19"^^xsd:int ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:inPropertyGroupAnnot
<http://vivoweb.org/ontology#vitroPropertyGrouptime> ;
<http://vivoweb.org/ontology#vitroPropertyGroupoverview> ;
vitro:individualSortDirectionAnnot
"desc"^^xsd:string ;
vitro:offerCreateNewOptionAnnot
@ -7155,8 +7261,6 @@ bibo:Statute
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> .
obo:ERO_0000405
rdfs:label "has accession number"@en-US .
vivo:fundingVehicleFor
rdfs:label "provides funding for"@en-US ;
@ -7237,10 +7341,38 @@ vivo:PostdoctoralTraining
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> .
obo:ERO_0000918
rdfs:label "related research project"@en-US .
rdfs:label "related research project"@en-US ;
vitro:displayLimitAnnot
"2"^^xsd:int ;
vitro:displayRankAnnot
"20"^^xsd:int ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:inPropertyGroupAnnot
<http://vivoweb.org/ontology#vitroPropertyGroupoverview> ;
vitro:selectFromExistingAnnot
"true"^^xsd:boolean ;
vitro:offerCreateNewOptionAnnot
"true"^^xsd:boolean .
obo:OBI_0000417
rdfs:label "achieves planned objective"@en-US .
rdfs:label "achieves planned objective"@en-US ;
vitro:displayLimitAnnot
"5"^^xsd:int ;
vitro:displayRankAnnot
"95"^^xsd:int ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#nobody> ;
vitro:inPropertyGroupAnnot
<http://vivoweb.org/ontology#vitroPropertyGroupoverview> ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#nobody> ;
vitro:selectFromExistingAnnot
"true"^^xsd:boolean ;
vitro:offerCreateNewOptionAnnot
"true"^^xsd:boolean .
vivo:preferredDisplayOrder
rdfs:label "preferred display order"@en-US ;
@ -7285,7 +7417,21 @@ vcard:sound
rdfs:label "sound"@en-US .
obo:ERO_0000543
rdfs:label "related technique"@en-US .
rdfs:label "related technique"@en-US ;
vitro:displayLimitAnnot
"5"^^xsd:int ;
vitro:displayRankAnnot
"80"^^xsd:int ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:inPropertyGroupAnnot
<http://vivoweb.org/ontology#vitroPropertyGroupoverview> ;
vitro:selectFromExistingAnnot
"true"^^xsd:boolean ;
vitro:offerCreateNewOptionAnnot
"true"^^xsd:boolean .
bibo:numPages
rdfs:label "number of pages"@en-US ;
@ -7417,7 +7563,7 @@ geo:GDPUnit
vitro:hiddenFromDisplayBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#nobody> ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> .
<http://vitro.mannlib.cornell.edu/ns/vitro/role#nobody> .
bibo:edition
rdfs:label "edition"@en-US ;
@ -7486,7 +7632,21 @@ obo:OBI_0000011
rdfs:label "Planned Process"@en-US .
obo:ERO_0000919
rdfs:label "related biological specimen"@en-US .
rdfs:label "related biological specimen"@en-US ;
vitro:displayLimitAnnot
"5"^^xsd:int ;
vitro:displayRankAnnot
"95"^^xsd:int ;
vitro:hiddenFromDisplayBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:inPropertyGroupAnnot
<http://vivoweb.org/ontology#vitroPropertyGroupresearch> ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:selectFromExistingAnnot
"true"^^xsd:boolean ;
vitro:offerCreateNewOptionAnnot
"true"^^xsd:boolean .
bibo:status
rdfs:label "status"@en-US ;
@ -7567,7 +7727,7 @@ vivo:hasEquipment
vitro:hiddenFromDisplayBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:inPropertyGroupAnnot
<http://vivoweb.org/ontology#vitroPropertyGroupservice> ;
<http://vivoweb.org/ontology#vitroPropertyGroupoutreach> ;
vitro:prohibitedFromUpdateBelowRoleLevelAnnot
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:selectFromExistingAnnot
@ -7608,3 +7768,11 @@ vivo:hasEquipment
<http://vitro.mannlib.cornell.edu/ns/vitro/role#public> ;
vitro:selectFromExistingAnnot
"true"^^xsd:boolean .
<http://purl.obolibrary.org/obo/OBI_0100026>
rdfs:label "Organism"@en-US ;
vitro:inClassGroup <http://vivoweb.org/ontology#vitroClassGrouppublications> ; ## classgroup label is research
vitro:displayRankAnnot
"1"^^xsd:int .

View file

@ -1,751 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.semservices.bo;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;
import edu.cornell.mannlib.semservices.util.DateUtils;
/**
* A time-less and immutable Date class for basic date arithmetics.
*
* @author <a href="mailto:jacob.dreyer@geosoft.no">Jacob Dreyer</a>
*/
public class Day implements Comparable<Day> {
/** The back end calendar instance of this day. */
protected Calendar calendar_ = Calendar.getInstance();
/**
* Create a new day. The day is lenient meaning that illegal day parameters
* can be specified and results in a recomputed day with legal month/day
* values.
*
* @param year
* Year of new day.
* @param month
* Month of new day (0-11)
* @param dayOfMonth
* Day of month of new day (1-31)
*/
public Day(int year, int month, int dayOfMonth) {
initialize(year, month, dayOfMonth);
}
/**
* Create a new day, specifying the year and the day of year. The day is
* lenient meaning that illegal day parameters can be specified and results
* in a recomputed day with legal month/day values.
*
* @param year
* Year of new day.
* @param dayOfYear
* 1=January 1, etc.
*/
public Day(int year, int dayOfYear) {
initialize(year, Calendar.JANUARY, 1);
calendar_.set(Calendar.DAY_OF_YEAR, dayOfYear);
}
/**
* Create a new day representing the day of creation (according to the
* setting of the current machine).
*/
public Day() {
// Now (in the current locale of the client machine)
Calendar calendar = Calendar.getInstance();
// Prune time part
initialize(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH));
}
/**
* Create a new day based on a java.util.Calendar instance. NOTE: The time
* component from calendar will be pruned.
*
* @param calendar
* Calendar instance to copy.
* @throws IllegalArgumentException
* If calendar is null.
*/
public Day(Calendar calendar) {
if (calendar == null)
throw new IllegalArgumentException("calendar cannot be null");
initialize(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH));
}
/**
* Create a new day based on a java.util.Date instance. NOTE: The time
* component from date will be pruned.
*
* @param date
* Date instance to copy.
* @throws IllegalArgumentException
* If date is null.
*/
public Day(Date date) {
if (date == null)
throw new IllegalArgumentException("date cannot be null");
// Create a calendar based on given date
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
// Extract date values and use these only
initialize(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH));
}
/**
* Create a new day based on a time value. Time is milliseconds since
* "the Epoch" (1.1.1970). NOTE: The time component from time will be pruned.
*
* @param time
* Milliseconds since "the Epoch".
*/
public Day(long time) {
this(new Date(time));
}
/**
* Create a new day as a copy of the specified day.
*
* @param day
* Day to clone.
* @throws IllegalArgumentException
* If day is null.
*/
public Day(Day day) {
if (day == null)
throw new IllegalArgumentException("day cannot be null");
initialize(day.getYear(), day.getMonth(), day.getDayOfMonth());
}
/**
* Initialize the internal calendar instance.
*
* @param year
* Year of new day.
* @param month
* Month of new day.
* @param dayOfMonth
* Day of month of new day.
*/
private void initialize(int year, int month, int dayOfMonth) {
calendar_.setLenient(true);
calendar_.setFirstDayOfWeek(Calendar.MONDAY);
calendar_.setTimeZone(TimeZone.getDefault());
calendar_.set(Calendar.YEAR, year);
calendar_.set(Calendar.MONTH, month);
calendar_.set(Calendar.DAY_OF_MONTH, dayOfMonth);
// Prune the time component
calendar_.set(Calendar.HOUR_OF_DAY, 0);
calendar_.set(Calendar.MINUTE, 0);
calendar_.set(Calendar.SECOND, 0);
calendar_.set(Calendar.MILLISECOND, 0);
}
/**
* A more explicit front-end to the Day() constructor which return a day
* object representing the day of creation.
*
* @return A day instance representing today.
*/
public static Day today() {
return new Day();
}
/**
* Return a Calendar instance representing the same day as this instance. For
* use by secondary methods requiring java.util.Calendar as input.
*
* @return Calendar equivalent representing this day.
*/
public Calendar getCalendar() {
return (Calendar) calendar_.clone();
}
/**
* Return a Date instance representing the same date as this instance. For
* use by secondary methods requiring java.util.Date as input.
*
* @return Date equivalent representing this day.
*/
public Date getDate() {
return getCalendar().getTime();
}
/**
* Compare this day to the specified day. If object is not of type Day a
* ClassCastException is thrown.
*
* @param day
* Day object to compare to.
* @return @see Comparable#compareTo(Object)
* @throws IllegalArgumentException
* If day is null.
*/
public int compareTo(Day day) {
if (day == null)
throw new IllegalArgumentException("day cannot be null");
return calendar_.getTime().compareTo(day.calendar_.getTime());
}
/**
* Return true if this day is after the specified day.
*
* @param day
* Day to compare to.
* @return True if this is after day, false otherwise.
* @throws IllegalArgumentException
* If day is null.
*/
public boolean isAfter(Day day) {
if (day == null)
throw new IllegalArgumentException("day cannot be null");
return calendar_.after(day.calendar_);
}
/**
* Return true if this day is before the specified day.
*
* @param day
* Day to compare to.
* @return True if this is before day, false otherwise.
* @throws IllegalArgumentException
* If day is null.
*/
public boolean isBefore(Day day) {
if (day == null)
throw new IllegalArgumentException("day cannot be null");
return calendar_.before(day.calendar_);
}
/**
* Return true if this day equals (represent the same date) as the specified
* day.
*
* @param object
* Object to compare to.
* @return True if this equals day, false otherwise.
* @throws IllegalArgumentException
* If day is null.
*/
@Override
public boolean equals(Object object) {
Day day = (Day) object;
if (day == null)
throw new IllegalArgumentException("day cannot be null");
return calendar_.equals(day.calendar_);
}
/**
* Overload required as default definition of equals() has changed.
*
* @return A hash code value for this object.
*/
@Override
public int hashCode() {
return calendar_.hashCode();
}
/**
* Return year of this day.
*
* @return Year of this day.
*/
public int getYear() {
return calendar_.get(Calendar.YEAR);
}
/**
* Return month of this day. The result must be compared to Calendar.JANUARY,
* Calendar.FEBRUARY, etc.
*
* @return Month of this day.
*/
public int getMonth() {
return calendar_.get(Calendar.MONTH);
}
public String getMonthName() {
switch (getMonth()) {
case Calendar.JANUARY:
return "January";
case Calendar.FEBRUARY:
return "February";
case Calendar.MARCH:
return "March";
case Calendar.APRIL:
return "April";
case Calendar.MAY:
return "May";
case Calendar.JUNE:
return "June";
case Calendar.JULY:
return "July";
case Calendar.AUGUST:
return "August";
case Calendar.SEPTEMBER:
return "September";
case Calendar.OCTOBER:
return "October";
case Calendar.NOVEMBER:
return "November";
case Calendar.DECEMBER:
return "December";
default:
assert false : "Invalid mongth: " + getMonth();
}
// This will never happen
return "";
}
/**
* Return the 1-based month number of the month of this day. 1 = January, 2 =
* February and so on.
*
* @return Month number of this month
*/
public int getMonthNo() {
// It is tempting to return getMonth() + 1 but this is conceptually
// wrong, as Calendar month is an enumeration and the values are tags
// only and can be anything.
switch (getMonth()) {
case Calendar.JANUARY:
return 1;
case Calendar.FEBRUARY:
return 2;
case Calendar.MARCH:
return 3;
case Calendar.APRIL:
return 4;
case Calendar.MAY:
return 5;
case Calendar.JUNE:
return 6;
case Calendar.JULY:
return 7;
case Calendar.AUGUST:
return 8;
case Calendar.SEPTEMBER:
return 9;
case Calendar.OCTOBER:
return 10;
case Calendar.NOVEMBER:
return 11;
case Calendar.DECEMBER:
return 12;
default:
assert false : "Invalid mongth: " + getMonth();
}
// This will never happen
return 0;
}
/**
* Return day of month of this day. NOTE: First day of month is 1 (not 0).
*
* @return Day of month of this day.
*/
public int getDayOfMonth() {
return calendar_.get(Calendar.DAY_OF_MONTH);
}
/**
* Return the day number of year this day represents. January 1 = 1 and so
* on.
*
* @return day number of year.
*/
public int getDayOfYear() {
return calendar_.get(Calendar.DAY_OF_YEAR);
}
/**
* Return the day of week of this day. NOTE: Must be compared to
* Calendar.MONDAY, TUSEDAY etc.
*
* @return Day of week of this day.
*/
public int getDayOfWeek() {
return calendar_.get(Calendar.DAY_OF_WEEK);
}
/**
* Return the day number of week of this day, where Monday=1, Tuesday=2, ...
* Sunday=7.
*
* @return Day number of week of this day.
*/
public int getDayNumberOfWeek() {
return getDayOfWeek() == Calendar.SUNDAY ? 7 : getDayOfWeek()
- Calendar.SUNDAY;
}
/**
* Return the week number of year, this day belongs to. 1st=1 and so on.
*
* @return Week number of year of this day.
*/
public int getWeekOfYear() {
return calendar_.get(Calendar.WEEK_OF_YEAR);
}
/**
* Return a day which is the given number of days after this day.
*
* @param nDays
* Number of days to add. May be negative.
* @return Day as requested.
*/
public Day addDays(int nDays) {
// Create a clone
Calendar calendar = (Calendar) calendar_.clone();
// Add/remove the specified number of days
calendar.add(Calendar.DAY_OF_MONTH, nDays);
// Return new instance
return new Day(calendar);
}
/**
* Subtract a number of days from this day.
*
* @param nDays
* Number of days to subtract.
* @return Day as requested.
*/
public Day subtractDays(int nDays) {
return addDays(-nDays);
}
/**
* Return a day wich is a given number of month after this day.
*
* The actual number of days added depends on the staring day. Subtracting a
* number of months can be done by a negative argument to addMonths() or
* calling subtactMonths() explicitly. NOTE: addMonth(n) m times will in
* general give a different result than addMonth(m*n). Add 1 month to January
* 31, 2005 will give February 28, 2005.
*
* @param nMonths
* Number of months to add.
* @return Day as requested.
*/
public Day addMonths(int nMonths) {
// Create a clone
Calendar calendar = (Calendar) calendar_.clone();
// Add/remove the specified number of days
calendar.add(Calendar.MONTH, nMonths);
// Return new instance
return new Day(calendar);
}
/**
* Subtract a number of months from this day.
*
* @see #addMonths(int).
*
* @param nMonths
* Number of months to subtract.
* @return Day as requested.
*/
public Day subtractMonths(int nMonths) {
return addMonths(-nMonths);
}
/**
* Return a day wich is a given number of years after this day.
*
* Add a number of years to this day. The actual number of days added depends
* on the starting day. Subtracting a number of years can be done by a
* negative argument to addYears() or calling subtractYears explicitly.
*
* @param nYears
* Number of years to add.
* @return Day as requested.
*/
public Day addYears(int nYears) {
// Create a clone
Calendar calendar = (Calendar) calendar_.clone();
// Add/remove the specified number of days
calendar.add(Calendar.YEAR, nYears);
// Return new instance
return new Day(calendar);
}
/**
* Subtract a number of years from this day.
*
* @see #addYears(int).
*
* @param nYears
* Number of years to subtract.
* @return Day as requested.
*/
public Day subtractYears(int nYears) {
return addYears(-nYears);
}
/**
* Return the number of days in the year of this day.
*
* @return Number of days in this year.
*/
public int getDaysInYear() {
return calendar_.getActualMaximum(Calendar.DAY_OF_YEAR);
}
/**
* Return true if the year of this day is a leap year.
*
* @return True if this year is a leap year, false otherwise.
*/
public boolean isLeapYear() {
return getDaysInYear() == calendar_.getMaximum(Calendar.DAY_OF_YEAR);
}
/**
* Return true if the specified year is a leap year.
*
* @param year
* Year to check.
* @return True if specified year is leap year, false otherwise.
*/
public static boolean isLeapYear(int year) {
return (new Day(year, Calendar.JANUARY, 1)).isLeapYear();
}
/**
* Return the number of days in the month of this day.
*
* @return Number of days in this month.
*/
public int getDaysInMonth() {
return calendar_.getActualMaximum(Calendar.DAY_OF_MONTH);
}
/**
* Get default locale name of this day ("Monday", "Tuesday", etc.
*
* @return Name of day.
*/
public String getDayName() {
switch (getDayOfWeek()) {
case Calendar.MONDAY:
return "Monday";
case Calendar.TUESDAY:
return "Tuesday";
case Calendar.WEDNESDAY:
return "Wednesday";
case Calendar.THURSDAY:
return "Thursday";
case Calendar.FRIDAY:
return "Friday";
case Calendar.SATURDAY:
return "Saturday";
case Calendar.SUNDAY:
return "Sunday";
default:
assert false : "Invalid day of week: " + getDayOfWeek();
}
// This will never happen
return null;
}
/**
* Get default locale name of this day ("Monday", "Tuesday", etc.
*
* @return Name of day.
*/
public String getShortDayName() {
switch (getDayOfWeek()) {
case Calendar.MONDAY:
return "Mon";
case Calendar.TUESDAY:
return "Tue";
case Calendar.WEDNESDAY:
return "Wed";
case Calendar.THURSDAY:
return "Thu";
case Calendar.FRIDAY:
return "Fri";
case Calendar.SATURDAY:
return "Sat";
case Calendar.SUNDAY:
return "Sun";
default:
assert false : "Invalid day of week: " + getDayOfWeek();
}
// This will never happen
return null;
}
/**
* Return number of days between two days. The method always returns a
* positive number of days.
*
* @param day
* The day to compare to.
* @return Number of days between this and day.
* @throws IllegalArgumentException
* If day is null.
*/
public int daysBetween(Day day) {
if (day == null)
throw new IllegalArgumentException("day cannot be null");
long millisBetween = Math.abs(calendar_.getTime().getTime()
- day.calendar_.getTime().getTime());
return (int) Math.round(millisBetween / (1000 * 60 * 60 * 24));
}
/**
* Find the n'th xxxxday of s specified month (for instance find 1st sunday
* of May 2006; findNthOfMonth (1, Calendar.SUNDAY, Calendar.MAY, 2006);
* Return null if the specified day doesn't exists.
*
* @param n
* Nth day to look for.
* @param dayOfWeek
* Day to look for (Calendar.XXXDAY).
* @param month
* Month to check (Calendar.XXX).
* @param year
* Year to check.
* @return Required Day (or null if non-existent)
* @throws IllegalArgumentException
* if dyaOfWeek parameter doesn't represent a valid day.
*/
public static Day getNthOfMonth(int n, int dayOfWeek, int month, int year) {
// Validate the dayOfWeek argument
if (dayOfWeek < 1 || dayOfWeek > 7)
throw new IllegalArgumentException("Invalid day of week: " + dayOfWeek);
Day first = new Day(year, month, 1);
int offset = dayOfWeek - first.getDayOfWeek();
if (offset < 0)
offset = 7 + offset;
int dayNo = (n - 1) * 7 + offset + 1;
return dayNo > first.getDaysInMonth() ? null
: new Day(year, month, dayNo);
}
/**
* Find the first of a specific day in a given month. For instance first
* Tuesday of May: getFirstOfMonth(Calendar.TUESDAY, Calendar.MAY, 2005);
*
* @param dayOfWeek
* Weekday to get.
* @param month
* Month of day to get.
* @param year
* Year of day to get.
* @return The requested day.
*/
public static Day getFirstOfMonth(int dayOfWeek, int month, int year) {
return Day.getNthOfMonth(1, dayOfWeek, month, year);
}
/**
* Find the last of a specific day in a given month. For instance last
* Tuesday of May: getLastOfMonth (Calendar.TUESDAY, Calendar.MAY, 2005);
*
* @param dayOfWeek
* Weekday to get.
* @param month
* Month of day to get.
* @param year
* Year of day to get.
* @return The requested day.
*/
public static Day getLastOfMonth(int dayOfWeek, int month, int year) {
Day day = Day.getNthOfMonth(5, dayOfWeek, month, year);
return day != null ? day : Day.getNthOfMonth(4, dayOfWeek, month, year);
}
public String getFormattedString(String fmt) {
return DateUtils.getFormattedDate(calendar_.getTime(), fmt);
}
/**
* Return a scratch string representation of this day. Used for debugging
* only. The format of the day is yyyy-mm-dd
*
* @return A string representation of this day.
*/
@Override
public String toString() {
StringBuffer s = new StringBuffer();
s.append(getYear());
s.append('-');
if (getMonth() < 9)
s.append('0');
s.append(getMonth() + 1);
s.append('-');
if (getDayOfMonth() < 10)
s.append('0');
s.append(getDayOfMonth());
return s.toString();
}
/**
* Testing this class.
*
* @param arguments
* Not used.
*/
public static void main(String[] arguments) {
// This proves that there are 912 days between the two major
// terrorist attacks, not 911 as is common knowledge.
Day september11 = new Day(2001, Calendar.SEPTEMBER, 11);
Day march11 = new Day(2004, Calendar.MARCH, 11);
System.out.println(september11.daysBetween(march11));
// This proves that Kennedy was president for 1037 days,
// not 1000 as is the popular belief nor 1036 which is the
// bluffers reply. Nerds knows when to add one...
Day precidency = new Day(1961, Calendar.JANUARY, 20);
Day assasination = new Day(1963, Calendar.NOVEMBER, 22);
System.out.println(precidency.daysBetween(assasination) + 1);
// Niel Armstrong walked the moon on a Sunday
Day nielOnMoon = new Day(1969, Calendar.JULY, 20);
System.out.println("Niel Armstron walked on the moon on "+ nielOnMoon.getDayName());
// Find last tuesdays for 2005
for (int i = 0; i < 12; i++) {
Day tuesday = Day.getLastOfMonth(Calendar.TUESDAY, i, 2005);
System.out.println(tuesday);
}
}
}

View file

@ -1,259 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.semservices.bo;
import java.util.Date;
import java.util.Calendar;
import java.util.GregorianCalendar;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/**
* A class representing a moment in time. Extends Day which represents the day
* of the moment, and defines the time within the day to millisecond accuracy.
*
* @author Jacob Dreyer (<a
* href="mailto:jacob.dreyer@geosoft.no">jacob.dreyer@geosoft.no</a>)
*/
public class Time extends Day {
protected final Log logger = LogFactory.getLog(getClass());
protected static final Log staticlogger = LogFactory.getLog(Time.class);
/**
* Instantiate a Time object. The time is lenient meaning that illegal day
* parameters can be specified and results in a recomputed day with legal
* month/day values.
*
* @param year Year of this time
* @param month Month of this time
* @param dayOfMonth Day of month of this time.
* @param hourOfDay Hours of this time [0-23]
* @param minutes Minutes of this time [0-23]
* @param seconds Seconds of this time [0-23]
*/
public Time(int year, int month, int dayOfMonth, int hourOfDay, int minutes,
int seconds) {
super(year, month, dayOfMonth);
setHourOfDay(hourOfDay);
setMinutes(minutes);
setSeconds(seconds);
}
/**
* Constructor
* @param day
* @param hourOfDay
* @param minutes
* @param seconds
*/
public Time(Day day, int hourOfDay, int minutes, int seconds) {
this(day.getYear(), day.getMonth(), day.getDayOfMonth(), hourOfDay,
minutes, seconds);
}
/**
* Constructor
* @param hourOfDay
* @param minutes
* @param seconds
*/
public Time(int hourOfDay, int minutes, int seconds) {
this(new Day(), hourOfDay, minutes, seconds);
}
/**
* Constructor
*/
public Time() {
calendar_ = new GregorianCalendar(); // Now
}
// end of constructors
// Get Methods
public Date getDay() {
return calendar_.getTime();
}
public int getHour() {
return calendar_.get(Calendar.HOUR);
}
public int getHourOfDay() {
return calendar_.get(Calendar.HOUR_OF_DAY);
}
public int getMinutes() {
return calendar_.get(Calendar.MINUTE);
}
public int getSeconds() {
return calendar_.get(Calendar.SECOND);
}
public int getMilliSeconds() {
return calendar_.get(Calendar.MILLISECOND);
}
public int getAmPm() {
return calendar_.get(Calendar.AM_PM);
}
// set Methods
public void setDay(Day day) {
setYear(day.getYear());
setMonth(day.getMonth());
setDayOfMonth(day.getDayOfMonth());
}
public void setYear(int year) {
calendar_.set(Calendar.YEAR, year);
}
public void setMonth(int month) {
calendar_.set(Calendar.MONTH, month);
}
public void setDayOfMonth(int dayOfMonth) {
calendar_.set(Calendar.DAY_OF_MONTH, dayOfMonth);
}
public void setHourOfDay(int hourOfDay) {
calendar_.set(Calendar.HOUR_OF_DAY, hourOfDay);
}
public void setHour(int hour) {
calendar_.set(Calendar.HOUR, hour);
}
public void setAmPm(int amPm) {
calendar_.set(Calendar.AM_PM, amPm);
}
public void setMinutes(int minutes) {
calendar_.set(Calendar.MINUTE, minutes);
}
public void setSeconds(int seconds) {
calendar_.set(Calendar.SECOND, seconds);
}
public void setMilliSeconds(int milliSeconds) {
calendar_.set(Calendar.MILLISECOND, milliSeconds);
}
// Time modification methods
public void addHours(int nHours) {
calendar_.add(Calendar.HOUR_OF_DAY, nHours);
}
public void addMinutes(int nMinutes) {
calendar_.add(Calendar.MINUTE, nMinutes);
}
public void addSeconds(int nSeconds) {
calendar_.add(Calendar.SECOND, nSeconds);
}
public void addMilliSeconds(int nMilliSeconds) {
calendar_.add(Calendar.MILLISECOND, nMilliSeconds);
}
public void subtractHours(int nHours) {
addHours(-nHours);
}
public void subtractMinutes(int nMinutes) {
addMinutes(-nMinutes);
}
public void subtractSeconds(int nSeconds) {
addSeconds(-nSeconds);
}
// Time test methods
public boolean isAfter(Time time) {
return calendar_.after(time.calendar_);
}
public boolean isBefore(Time time) {
return calendar_.before(time.calendar_);
}
public boolean equals(Time time) {
return calendar_.equals(time.calendar_);
}
// Time difference methods
public long milliSecondsBetween(Time time) {
long millisBetween = calendar_.getTime().getTime()
- time.calendar_.getTime().getTime();
return millisBetween;
}
public double secondsBetween(Time time) {
long millisBetween = calendar_.getTime().getTime()
- time.calendar_.getTime().getTime();
return millisBetween / 1000;
}
public double minutesBetween(Time time) {
long millisBetween = calendar_.getTime().getTime()
- time.calendar_.getTime().getTime();
return millisBetween / (1000 * 60);
}
public double hoursBetween(Time time) {
long millisBetween = calendar_.getTime().getTime()
- time.calendar_.getTime().getTime();
return millisBetween / (1000 * 60 * 60);
}
// Display methods
public String toString() {
StringBuffer string = new StringBuffer();
if (getHour() == 0) {
string.append("12"); // display "12" for midnight
} else {
string.append(getHour());
}
string.append(':');
if (getMinutes() < 10)
string.append('0');
string.append(getMinutes());
if (getAmPm() == Calendar.AM) {
string.append(" AM");
} else {
string.append(" PM");
}
return string.toString();
}
// Misc. methods
public static Time getTimeFromSqlTime(java.sql.Time sqlTime) {
// staticlogger.info("sqlTime "+ sqlTime.toString());
long ms = sqlTime.getTime();
java.util.Calendar gcal = GregorianCalendar.getInstance();
gcal.setTime(new Date(ms));
Time time = new Time(gcal.get(Calendar.HOUR_OF_DAY), gcal
.get(Calendar.MINUTE), gcal.get(Calendar.SECOND));
return time;
}
public static void main(String args[]) {
Time time = new Time(12, 00, 00);
System.out.println(time);
}
}

View file

@ -1,154 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
/*
* $Id$
* CONFIDENTIAL AND PROPRIETARY. ? 2007 Revolution Health Group LLC. All rights reserved.
* This source code may not be disclosed to others, used or reproduced without the written permission of Revolution Health Group.
*
*/
package edu.cornell.mannlib.semservices.util;
import java.lang.reflect.Constructor;
import java.lang.reflect.GenericArrayType;
import java.lang.reflect.Method;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Proxy;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import org.apache.log4j.Logger;
public class ClassUtils {
public static final String VERSION = "$Rev$";
private static final Logger LOG = Logger.getLogger(ClassUtils.class);
private ClassUtils() {}
@SuppressWarnings("unchecked")
public static Method[] getMethods(Class<?> clazz) {
if (Proxy.isProxyClass(clazz) && clazz.getInterfaces().length > 0 ) {
return clazz.getInterfaces()[0].getDeclaredMethods();
}
ArrayList<Method> methods = new ArrayList<Method>();
Class<?> interfaceClass = clazz;
// only change our classes
if ((interfaceClass.getPackage().getName().indexOf("java") != 0) && (interfaceClass != null)) {
if (!interfaceClass.isInterface()) {
Class[] interfaces = interfaceClass.getInterfaces();
for (Class interfaceTemp : interfaces) {
if (interfaceTemp.isInterface()) {
methods.addAll(Arrays.asList(interfaceTemp.getMethods()));
}
}
} else {
methods.addAll(Arrays.asList(interfaceClass.getMethods()));
}
}
if (methods.isEmpty()) {
methods.addAll(Arrays.asList(clazz.getDeclaredMethods()));
}
return methods.toArray(new Method[methods.size()]);
}
public static Object findEnumConstant(Class<Object> enumType, Object findConst) {
Object result = null;
Object[] enumConstants = enumType.getEnumConstants();
for (Object enumConst : enumConstants) {
if (enumConst.toString().equals(findConst.toString())) {
result = enumConst;
break;
}
}
if (result == null && findConst != null) { // last try for XmlEnum..
result = getXmlEnumFromValue(enumType, findConst.toString());
}
return result;
}
@SuppressWarnings("unchecked")
public static boolean isXmlEnum(Class<? extends Object> class1) {
boolean result = false;
try {
Class xmlEnumClass = Class.forName("javax.xml.bind.annotation.XmlEnum");
result = (xmlEnumClass != null) && (class1.getAnnotation(xmlEnumClass) != null);
} catch (ClassNotFoundException e) {
LOG.info("Class Not Found: javax.xml.bind.annotation.XmlEnum, this is ok if you aren't serializing JaxB Objects");
}
return result;
}
public static Object getXmlEnumFromValue(Class<Object> enumType, String findConst) {
Object result = null;
try {
if (isXmlEnum(enumType)) {
// XmlEnum will have a "fromValue" method to convert the const to the enum const
Method fromValue = enumType.getMethod("fromValue", String.class);
result = fromValue.invoke(enumType, findConst);
}
} catch (Exception e) {
// could happen..just give up and return null
}
return result;
}
public static boolean isArrayType(Class<?> type) {
return List.class.isAssignableFrom(type);
}
public static boolean isMapType(Class<?> type) {
return Map.class.isAssignableFrom(type);
}
public static Class<?> getArrayElementType(Method method, int paramIndex) {
Type[] types = method.getGenericParameterTypes();
if (types.length > paramIndex) {
return getArrayElementType(types[paramIndex]);
}
return null;
}
public static Class<?> getArrayElementType(Type genericType) {
Class<?> result = null;
if (genericType instanceof ParameterizedType) {
ParameterizedType pt = (ParameterizedType) genericType;
//Type raw = pt.getRawType();
//Type owner = pt.getOwnerType();
Type[] typeArgs = pt.getActualTypeArguments();
if (typeArgs[0] instanceof GenericArrayType) {
Class<?> arrayElementType = (Class<?>) ((GenericArrayType) typeArgs[0])
.getGenericComponentType();
result = arrayElementType;
} else if (typeArgs[0] instanceof Class<?>){
result = (Class<?>) typeArgs[0];
}
}
return result;
}
@SuppressWarnings("unchecked")
public static boolean hasEmptyConstructor(Class<?> type) {
boolean result = false;
Constructor[] constructors = type.getDeclaredConstructors();
for (Constructor constructor : constructors) {
if (constructor.getParameterTypes().length == 0) {
result = true;
break;
}
}
return result;
}
}

View file

@ -1,143 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
/*
* $Id: DateConverter.java 50408 2007-03-28 19:14:46Z jdamick $
*
* Copyright 2006- Revolution Health Group. All rights reserved.
*
* This software is the confidential and proprietary information
* of Revolution Health Group. (Confidential Information).
* You shall not disclose such Confidential Information and shall
* use it only in accordance with the terms of the license
* agreement you entered into with Revolution Health Group.
*
*/
package edu.cornell.mannlib.semservices.util;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.GregorianCalendar;
import javax.xml.datatype.DatatypeConfigurationException;
import javax.xml.datatype.DatatypeFactory;
import javax.xml.datatype.XMLGregorianCalendar;
import org.apache.commons.beanutils.ConversionException;
import org.apache.commons.beanutils.Converter;
import org.apache.log4j.Logger;
import net.sf.json.JSONException;
import net.sf.json.JSONObject;
public final class DateConverter implements Converter {
private static final Logger LOG = Logger.getLogger(DateConverter.class);
// Constructors
/**
* Create a {@link Converter} that will throw a {@link ConversionException}
* if a conversion error occurs.
*/
public DateConverter() {
this.defaultValue = null;
converter = new XMLGregorianCalendarConverter(defaultValue);
}
/**
* Create a {@link Converter} that will return the specified default value
* if a conversion error occurs.
*
* @param defaultValue
* The default value to be returned
*/
public DateConverter(Object defaultValue) {
this.defaultValue = defaultValue;
converter = new XMLGregorianCalendarConverter(defaultValue);
}
// Instance Variables
/**
* The default value specified to our Constructor, if any.
*/
private Object defaultValue = null;
private XMLGregorianCalendarConverter converter = null;
// --------------------------------------------------------- Public Methods
/**
* Convert the specified input object into an output object of the specified
* type.
*
* @param type
* XMLGregorianCalendar type to which this value should be
* converted
* @param value
* The input value to be converted
*
* @exception ConversionException
* if conversion cannot be performed successfully
*/
@SuppressWarnings({ "unchecked", "deprecation" })
public Object convert(Class type, Object value) {
String dateValue = value.toString();
if (value instanceof Date) {
return (value);
} else {
try {
JSONObject jsonObj = JSONObject.fromObject(value.toString());
dateValue = jsonObj
.optString("Date" /* Date.class.toString() */);
} catch (JSONException e) { /* empty, could fail.. */
LOG.debug("no date object found in the json");
}
}
XMLGregorianCalendar calendar = (XMLGregorianCalendar) converter
.convert(type, dateValue);
Object result = null;
try {
result = calendar.toGregorianCalendar().getTime();
} catch (Exception exception) { /*
* empty, had some error parsing the
* time
*/
LOG.debug("Error converting the time");
if (result == null) {
try {
result = new Date(Date.parse(dateValue));
} catch (IllegalArgumentException argException) {
// last chance
result = java.sql.Date.valueOf(dateValue);
}
}
}
if (result != null && (result instanceof Date)
&& type.equals(java.sql.Date.class)) {
result = new java.sql.Date(((Date) result).getTime());
}
return result;
}
public static XMLGregorianCalendar toXMLGregorianCalendar(Date date) {
try {
GregorianCalendar calendar = new GregorianCalendar();
calendar.setTime(date);
return DatatypeFactory.newInstance().newXMLGregorianCalendar(
calendar);
} catch (DatatypeConfigurationException e) {
return null;
}
}
public static String toFormattedString(Date date) {
String s = new String();
s = new SimpleDateFormat("MMM d, h:mm a").format(date.getTime());
return s;
}
}

View file

@ -1,197 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.semservices.util;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class DateUtils {
/** Logger for this class and subclasses */
protected final Log logger = LogFactory.getLog(getClass());
public static final Long MILLISECONDSINDAY = 86400L;
public static final Long MILLISECONDSINYEAR = MILLISECONDSINDAY * 365;
public static String getToday(String fmt) {
String today;
Calendar now = Calendar.getInstance();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-dd-MM");
today = formatter.format(now.getTime());
return today;
}
public static String getCurrentYear() {
String y;
Calendar now = Calendar.getInstance();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy");
y = formatter.format(now.getTime());
return y;
}
/**
* Get Current Jave Date
*
* returns a date in following format: Tue Apr 01 08:21:57 EST 2003
*/
public static java.util.Date getCurrentJavaDate() {
java.util.Date currentDate = new java.util.Date();
return currentDate;
}
/**
* get Current SQL date
*
* returns a date in following format: 2003-04-01
*/
public static java.sql.Date getCurrentSQLDate() {
java.util.Date currentDate = new java.util.Date();
java.sql.Date sqlDate = new java.sql.Date(currentDate.getTime());
return sqlDate;
}
/**
* get current SQL Timestamp
*
* returns a date in following format: 2003-04-01 08:21:57.556
*/
public static java.sql.Timestamp getCurrentSQLTimestamp() {
java.sql.Timestamp sqlTime = new java.sql.Timestamp(System.currentTimeMillis());
return sqlTime;
}
/**
* returns a formatted date/time as a string
*
* returns a date in the following format 01-04-03 08:21:57
*/
public static String getFormattedDate() {
String s = null;
Calendar today = Calendar.getInstance();
s = new SimpleDateFormat("dd-MM-yy hh:mm:ss").format(today.getTime());
return s;
}
/**
* returns a formatted date/time as a string
* @param a format string
* @return the current date in the specified format
*/
public static String getFormattedDate(String f) {
String s = null;
Calendar today = Calendar.getInstance();
s = new SimpleDateFormat(f).format(today.getTime());
return s;
}
/**
* given a String date in a described format (i.e. YYYY-mm-dd) convert
* it to a String date in a new format (i.e. MM-dd-YYYY)
*
* @param s input date string
* @param formatin a format string
* @param formatout a format string
* @return formated date string
*/
public static String convertStringDate(String s, String formatIn, String formatOut) {
try {
if (s.equals("now")) {
return (new SimpleDateFormat(formatOut).format(new java.util.Date()));
} else {
return (new SimpleDateFormat(formatOut)).format(
(new SimpleDateFormat(formatIn)).parse(
s, new ParsePosition(0)));
}
} catch( Exception e ) {
return "";
}
}
/**
* returns a Date given a formatted string
*/
public static java.util.Date setDate(String s) {
SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yy hh:mm:ss");
ParsePosition pos = new ParsePosition(0);
java.util.Date newDate = formatter.parse(s, pos);
return newDate;
}
/**
* returns a Date given a formatted string
*/
public static java.util.Date setDate(String s, String fmt) {
SimpleDateFormat formatter = new SimpleDateFormat(fmt);
ParsePosition pos = new ParsePosition(0);
java.util.Date newDate = formatter.parse(s, pos);
return newDate;
}
/**
* returns a SQL Date given a formatted string
*/
public static java.sql.Date getSQLDateFromString(String s) {
return java.sql.Date.valueOf(s);
}
/**
* returns a SQL Time given a formatted string
*/
public static java.sql.Time getSQLTimeFromString(String s) {
return java.sql.Time.valueOf(s);
}
/*
* return a formatted version of a java.sqlDate
*/
public static String getFormattedDate(java.util.Date date, String fmt) {
String formattedDate = new String();
formattedDate = new SimpleDateFormat(fmt).format(new java.util.Date(date.getTime()));
return formattedDate;
}
/*
* return a formatted version of a java.sqlDate
*/
public static String getFormattedSQLDate(java.sql.Date sqldate, String fmt) {
String formattedDate = new String();
formattedDate = new SimpleDateFormat(fmt).format(new java.util.Date(sqldate.getTime()));
return formattedDate;
}
public static java.sql.Date getNextSQLDate(java.sql.Date currentDate) {
Calendar cal = Calendar.getInstance();
cal.setTime(currentDate);
cal.add(Calendar.DATE, 1);
java.util.Date tomorrow = cal.getTime();
return new java.sql.Date(tomorrow.getTime());
}
/**
* @param start
* @param end
* @return elapsed time
*/
public static String getElapsedTime(String start, String end) {
long startlong = Long.parseLong(start, 10);
long endlong = Long.parseLong(end, 10);
long elapsed = endlong - startlong;
return Long.toString(elapsed, 10);
}
/**
* returns a SQL Timestamp given a formatted string
*/
public static java.sql.Timestamp convertSQLTimestamp(String s, String formatIn, String formatOut) {
String s2 = convertStringDate(s, formatIn, formatOut);
//System.out.println("s2: "+s2);
return java.sql.Timestamp.valueOf(s2+".0");
}
}

View file

@ -1,80 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.semservices.util;
import java.util.Date;
import org.apache.commons.beanutils.Converter;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import edu.cornell.mannlib.semservices.bo.Day;
public class DayConverter implements Converter {
@SuppressWarnings("unused")
private static final Log logger = LogFactory.getLog(DayConverter.class);
/**
* The default value specified to our Constructor, if any.
*/
@SuppressWarnings("unused")
private Object defaultValue = null;
/**
* Should we return the default value on conversion errors?
*/
@SuppressWarnings("unused")
private boolean useDefault = true;
/**
* Constructor
*/
public DayConverter() {
this.defaultValue = null;
this.useDefault = false;
}
/**
* Constructor with object
* @param defaultValue
*/
public DayConverter(Object defaultValue) {
this.defaultValue = defaultValue;
this.useDefault = true;
}
/* (non-Javadoc)
* @see org.apache.commons.beanutils.Converter#convert(java.lang.Class, java.lang.Object)
*/
@SuppressWarnings("unchecked")
public Object convert(Class type, Object value) {
String s = value.toString();
return s;
}
/**
* Format the output to something reasonable
* @param day
* @return
*/
public static String toFormattedString(Object day) {
Day dayObject = (Day) day;
String s = dayObject.getDayName()+
", "+dayObject.getMonthName()+
" "+dayObject.getDayOfMonth()+
", "+dayObject.getYear();
return s;
}
public static String toUnixTime(Object day) {
// get date in milliseconds and divide by zero to return unixtime
Day dayObject = (Day) day;
Date date = dayObject.getDate();
Long seconds = date.getTime() / 1000;
//logger.info("unixtime: " + seconds.toString());
return seconds.toString();
}
}

View file

@ -1,276 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
/*
* $Id$
* CONFIDENTIAL AND PROPRIETARY. © 2007 Revolution Health Group LLC. All rights reserved.
* This source code may not be disclosed to others, used or reproduced without the written permission of Revolution Health Group.
*
*/
package edu.cornell.mannlib.semservices.util;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class ObjectUtils {
public static final String VERSION = "$Rev: 63219 $";
private static final Log logger = LogFactory.getLog(ObjectUtils.class);
@SuppressWarnings("unchecked")
private static final Set<Class> SIMPLE_TYPES = new HashSet<Class>() {
/**
*
*/
private static final long serialVersionUID = 1L;
{
add(Boolean.class);
add(boolean.class);
add(Float.class);
add(float.class);
add(Double.class);
add(double.class);
add(Integer.class);
add(int.class);
add(Long.class);
add(long.class);
add(Short.class);
add(short.class);
add(Byte.class);
add(byte.class);
add(String.class);
add(BigDecimal.class);
add(BigInteger.class);
}
};
/**
*
*/
private ObjectUtils() {
}
/**
* @param obj
* @return
*/
@SuppressWarnings("unchecked")
public static boolean isMap(Object obj) {
if (obj instanceof Map) {
return true;
}
return false;
}
/**
* @param obj
* @return
*/
public static boolean isBigDecimal(Object obj) {
if (obj instanceof BigDecimal) {
return true;
}
return false;
}
/**
* @param obj
* @return
*/
public static boolean isArray(Object obj) {
if (obj != null) {
return isClassArray(obj.getClass());
}
return false;
}
/**
* @param clazz
* @return
*/
@SuppressWarnings("unchecked")
public static boolean isClassArray(Class clazz) {
if (clazz.isArray()) {
return true;
}
if (Collection.class.isAssignableFrom(clazz)) {
return true;
}
return false;
}
/**
* @param obj
* @return
*/
public static boolean isSimpleType(Object obj) {
boolean result = false;
if (obj != null) {
result = isClassSimpleType(obj.getClass());
}
return result;
}
/**
* @param clazz
* @return
*/
@SuppressWarnings("unchecked")
public static boolean isClassSimpleType(Class clazz) {
boolean result = false;
if (clazz != null && SIMPLE_TYPES.contains(clazz)) {
result = true;
}
return result;
}
/**
* @param value
* @return
*/
@SuppressWarnings("unchecked")
public static boolean isComplex(Object value) {
Class type = value.getClass();
return !(isSimpleType(value) || type.isEnum());
}
/**
* @param enumObj
* @return
*/
@SuppressWarnings("unchecked")
public static String getXmlEnumValue(Object enumObj) {
String result = null;
try {
if (ClassUtils.isXmlEnum((Class<Object>) enumObj.getClass())) {
// XmlEnum will have a "fromValue" method to convert the const
// to the enum const
Method value = enumObj.getClass().getMethod("value");
result = value.invoke(enumObj).toString();
}
} catch (Exception e) {
// could happen..just give up and return null
}
return result;
}
/**
* @param o
*/
public static void printBusinessObject(Object o) {
Field[] fields = o.getClass().getDeclaredFields();
for (int i = 0; i < fields.length; i++) {
Field field = fields[i];
try {
field.setAccessible(true);
System.out.println(field.getName()+": "+field.get(o));
}
catch (IllegalAccessException e) {
System.err.println("Illegal access exception");
} catch (NullPointerException e) {
System.err.println("Nullpointer Exception");
}
}
System.out.println();
}
/**
* @param o
* @param fieldnames
*/
public static void printBusinessObject(Object o, List<String> fieldnames) {
Field[] fields = new Field[fieldnames.size()];
int f = 0;
for (String s: fieldnames) {
try {
fields[f++] = o.getClass().getDeclaredField(s);
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchFieldException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
for (int i = 0; i < fields.length; i++) {
Field field = fields[i];
try {
field.setAccessible(true);
System.out.println(field.getName()+": "+field.get(o));
}
catch (IllegalAccessException e) {
System.err.println("Illegal access exception");
} catch (NullPointerException e) {
System.err.println("Nullpointer Exception");
}
}
System.out.println();
}
/**
* @param o
*/
public static void logBusinessObject(Object o) {
Field[] fields = o.getClass().getDeclaredFields();
for (int i = 0; i < fields.length; i++) {
Field field = fields[i];
try {
field.setAccessible(true);
logger.info(field.getName()+": "+field.get(o));
}
catch (IllegalAccessException e) {
logger.error("Illegal access exception");
} catch (NullPointerException e) {
logger.error("Nullpointer Exception");
}
}
}
/**
* @param mapobject
*/
public static void printMapObject(Map<?, ?> mapobject) {
Iterator<?> iter = mapobject.keySet().iterator();
while (iter.hasNext()) {
Object keyobj = iter.next();
Object valobj = mapobject.get(keyobj);
System.out.println(keyobj +": "+ valobj);
}
}
/**
* @param mapobject
*/
public static void logMapObject(Map<?, ?> mapobject) {
Iterator<?> iter = mapobject.keySet().iterator();
while (iter.hasNext()) {
Object keyobj = iter.next();
Object valobj = mapobject.get(keyobj);
logger.info(keyobj +": "+ valobj);
}
}
public static String nl2br(String text) {
return text.replaceAll("\n\n", "<p>").replaceAll("\n", "<br>");
}
}

View file

@ -1,74 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.semservices.util;
import edu.cornell.mannlib.semservices.bo.Time;
import java.util.Date;
import org.apache.commons.beanutils.Converter;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class TimeConverter implements Converter {
@SuppressWarnings("unused")
private static final Log logger = LogFactory.getLog(TimeConverter.class);
/**
* The default value specified to our Constructor, if any.
*/
@SuppressWarnings("unused")
private Object defaultValue = null;
/**
* Should we return the default value on conversion errors?
*/
@SuppressWarnings("unused")
private boolean useDefault = true;
/**
*
*/
public TimeConverter() {
this.defaultValue = null;
this.useDefault = false;
}
/**
* @param defaultValue
*/
public TimeConverter(Object defaultValue) {
this.defaultValue = defaultValue;
this.useDefault = true;
}
/* (non-Javadoc)
* @see org.apache.commons.beanutils.Converter#convert(java.lang.Class, java.lang.Object)
*/
@SuppressWarnings("unchecked")
public Object convert(Class type, Object value) {
String s = value.toString();
return s;
}
/**
* @param time
* @return
*/
public static String toFormattedString(Object time) {
return time.toString();
}
/**
* @param time
* @return
*/
public static String toUnixTime(Object time) {
Time timeObject = (Time) time;
Date date = timeObject.getDate();
Long seconds = date.getTime() / 1000;
//logger.info("unixtime: " + seconds.toString());
return seconds.toString();
}
}

View file

@ -1,65 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
package edu.cornell.mannlib.semservices.util;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.commons.beanutils.Converter;
public class TimestampConverter implements Converter {
/**
* The default value specified to our Constructor, if any.
*/
@SuppressWarnings("unused")
private Object defaultValue = null;
/**
* Should we return the default value on conversion errors?
*/
@SuppressWarnings("unused")
private boolean useDefault = true;
/**
*
*/
public TimestampConverter() {
this.defaultValue = null;
this.useDefault = false;
}
/**
* @param defaultValue
*/
public TimestampConverter(Object defaultValue) {
this.defaultValue = defaultValue;
this.useDefault = true;
}
/* (non-Javadoc)
* @see org.apache.commons.beanutils.Converter#convert(java.lang.Class, java.lang.Object)
*/
@SuppressWarnings("unchecked")
public Object convert(Class type, Object value) {
Timestamp ts = (Timestamp) value;
String s = new String();
s = new SimpleDateFormat("MMM d, h:mm a").format(ts.getTime());
return s;
}
/**
* @param time
* @return
*/
public String toUnixTime(Object time) {
Timestamp ts = (Timestamp) time;
Date date = new Date(ts.getTime());
Long seconds = date.getTime() / 1000;
//logger.info("unixtime: " + seconds.toString());
return seconds.toString();
}
}

View file

@ -1,103 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
/*
* $Id: XMLGregorianCalendarConverter.java 28642 2006-10-25 13:41:54Z jdamick $
*
* Copyright 2006- Revolution Health Group. All rights reserved.
*
* This software is the confidential and proprietary information
* of Revolution Health Group. (Confidential Information).
* You shall not disclose such Confidential Information and shall
* use it only in accordance with the terms of the license
* agreement you entered into with Revolution Health Group.
*
*/
package edu.cornell.mannlib.semservices.util;
import javax.xml.datatype.DatatypeFactory;
import javax.xml.datatype.XMLGregorianCalendar;
import org.apache.commons.beanutils.ConversionException;
import org.apache.commons.beanutils.Converter;
public final class XMLGregorianCalendarConverter implements Converter {
// Constructors
/**
* Create a {@link Converter} that will throw a {@link ConversionException}
* if a conversion error occurs.
*/
public XMLGregorianCalendarConverter() {
this.defaultValue = null;
this.useDefault = false;
}
/**
* Create a {@link Converter} that will return the specified default value if
* a conversion error occurs.
*
* @param defaultValue
* The default value to be returned
*/
public XMLGregorianCalendarConverter(Object defaultValue) {
this.defaultValue = defaultValue;
this.useDefault = true;
}
// Instance Variables
/**
* The default value specified to our Constructor, if any.
*/
private Object defaultValue = null;
/**
* Should we return the default value on conversion errors?
*/
private boolean useDefault = true;
// Public Methods
/**
* Convert the specified input object into an output object of the specified
* type.
*
* @param type
* XMLGregorianCalendar type to which this value should be
* converted
* @param value
* The input value to be converted
*
* @exception ConversionException
* if conversion cannot be performed successfully
*/
@SuppressWarnings("unchecked")
public Object convert(Class type, Object value) {
if (value == null) {
if (useDefault) {
return (defaultValue);
} else {
throw new ConversionException("No value specified");
}
}
if (value instanceof XMLGregorianCalendar) {
return (value);
}
try {
return DatatypeFactory.newInstance().newXMLGregorianCalendar(
value.toString());
} catch (Exception e) {
if (useDefault) {
return (defaultValue);
} else {
throw new ConversionException(e);
}
}
}
}

View file

@ -1,228 +0,0 @@
/* $This file is distributed under the terms of the license in /doc/license.txt$ */
/*
* $Id: BeanToJsonSerializer.java 66350 2007-08-20 21:11:41Z xluan $
*
* Copyright 2006- Revolution Health Group. All rights reserved.
*
* This software is the confidential and proprietary information
* of Revolution Health Group. (Confidential Information).
* You shall not disclose such Confidential Information and shall
* use it only in accordance with the terms of the license
* agreement you entered into with Revolution Health Group.
*
*/
package edu.cornell.mannlib.semservices.view;
import java.beans.PropertyDescriptor;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import javax.xml.datatype.XMLGregorianCalendar;
import org.apache.commons.beanutils.ConvertUtils;
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import net.sf.json.JSONArray;
import net.sf.json.JSONException;
import net.sf.json.JSONNull;
import net.sf.json.JSONObject;
import edu.cornell.mannlib.semservices.bo.Day;
import edu.cornell.mannlib.semservices.bo.Time;
import edu.cornell.mannlib.semservices.util.ClassUtils;
import edu.cornell.mannlib.semservices.util.DateConverter;
import edu.cornell.mannlib.semservices.util.DayConverter;
import edu.cornell.mannlib.semservices.util.ObjectUtils;
import edu.cornell.mannlib.semservices.util.TimeConverter;
import edu.cornell.mannlib.semservices.util.TimestampConverter;
@SuppressWarnings("serial")
public class BeanToJsonSerializer {
private static final Log logger = LogFactory.getLog(BeanToJsonSerializer.class);
/**
*
*/
private BeanToJsonSerializer() {
ConvertUtils.register(new DateConverter(), java.util.Date.class);
ConvertUtils.register(new TimestampConverter(),
String.class);
ConvertUtils.register(new TimeConverter(), String.class);
ConvertUtils.register(new DayConverter(), String.class);
}
/**
*
*/
@SuppressWarnings("unchecked")
private static final Set<Class> CONVERTABLE_CLASSES = new HashSet<Class>() {
{
add(XMLGregorianCalendar.class);
}
};
/**
* @param bean
* @return
*/
public static JSONObject serializeToJsonObject(Object bean) {
Object result = serialize(bean);
JSONObject jsonObj = new JSONObject();
try {
if (ObjectUtils.isArray(bean) || result instanceof JSONArray) {
jsonObj.put("array", result);
} else if (result instanceof JSONObject) {
jsonObj = (JSONObject) result;
} else {
jsonObj.put(bean.getClass().getSimpleName(), result);
}
} catch (JSONException e) {
logger.error("JSONException ",e);
}
return jsonObj;
}
/**
* @param bean
* @return
*/
@SuppressWarnings("unchecked")
public static Object serialize(Object bean) {
//String simpleName = bean.getClass().getSimpleName();
Object result = JSONNull.getInstance();
if (isObjectJson(bean)) {
result = bean;
} else if (bean != null && isConvertable(bean.getClass())) {
//logger.info("Converting convertable Class: "+simpleName);
result = ConvertUtils.convert(bean);
} else if (bean != null && Time.class.isAssignableFrom(bean.getClass())) {
//logger.info("Converting Time Class: "+simpleName);
result = TimeConverter.toUnixTime((Time) bean);
} else if (bean != null && Day.class.isAssignableFrom(bean.getClass())) {
//logger.info("Converting Day Class: "+simpleName);
result = DayConverter.toUnixTime((Day) bean);
} else if (bean != null
&& java.util.Date.class.isAssignableFrom(bean.getClass())) {
// for date consistency, use the XMLGregorianCalendar
// result =
// DateConverter.toXMLGregorianCalendar((java.util.Date)bean
// ).toString();
//logger.info("Converting Date Class: "+simpleName);
result = DateConverter.toFormattedString((java.util.Date) bean);
} else if (bean != null && ObjectUtils.isComplex(bean)
&& !ObjectUtils.isArray(bean) && !ObjectUtils.isMap(bean)) {
//logger.info("Converting complex bean: "+simpleName);
JSONObject jsonObject = new JSONObject();
try {
PropertyDescriptor[] pds = PropertyUtils
.getPropertyDescriptors(bean);
for (int i = 0; i < pds.length; i++) {
String key = pds[i].getName();
if ("class".equals(key)) {
continue;
}
Class type = pds[i].getPropertyType();
Object value = PropertyUtils.getProperty(bean, key);
if (String.class.isAssignableFrom(type)) {
jsonObject.put(key, (value == null) ? "" : value);
} else if (ObjectUtils.isArray(value)) {
jsonObject.put(key, serialize(value));
} else if (value == null) {
jsonObject.put(key, JSONNull.getInstance());
} else if (ObjectUtils.isSimpleType(value) || type.isEnum()) {
if (ClassUtils.isXmlEnum(type)) {
jsonObject.put(key, ObjectUtils.getXmlEnumValue(value));
} else {
jsonObject.put(key, value);
}
} else {
jsonObject.put(key, serialize(value));
}
}
result = jsonObject;
} catch (IllegalAccessException e) {
logger.error("IllegalAccessException ", e);
} catch (InvocationTargetException e) {
logger.error("InvocationTargetException ", e);
} catch (NoSuchMethodException e) {
logger.error("NoSuchMethodException ", e);
} catch (JSONException e) {
logger.error("JSONException ", e);
}
} else if (ObjectUtils.isArray(bean)) {
//logger.info("Converting Array bean: "+simpleName);
Collection collection = null;
if (bean.getClass().isArray()) {
collection = Arrays.asList((Object[]) bean);
} else {
collection = (Collection) bean;
}
result = new JSONArray();
for (Object item : collection) {
((JSONArray) result).add(serialize(item));
}
} else if (ObjectUtils.isMap(bean)) {
//logger.info("Converting Map bean: "+simpleName);
Map map = (Map) bean;
result = new JSONObject();
for (Object key : map.keySet()) {
try {
((JSONObject) result).put(key.toString(),
serialize(map.get(key)));
} catch (JSONException e) {
logger.error("JSONException ",e);
}
}
} else if (bean != null && ClassUtils.isXmlEnum(bean.getClass())) {
//logger.info("converting xmlEnum bean: "+simpleName);
result = ObjectUtils.getXmlEnumValue(bean);
} else {
//logger.info("just returning the bean: "+simpleName);
result = bean;
}
return result;
}
/**
* @param clazz
* @return
*/
@SuppressWarnings("unchecked")
private static boolean isConvertable(Class clazz) {
boolean found = false;
for (Class convertableClass : CONVERTABLE_CLASSES) {
if (convertableClass.isAssignableFrom(clazz)) {
found = true;
break;
} else {
//logger.warn("Class is not convertable");
//logger.warn("Class: " + clazz.getSimpleName());
}
}
return found;
}
/**
* @param bean
* @return
*/
private static boolean isObjectJson(Object bean) {
if ((JSONNull.getInstance().equals(bean)) || (bean instanceof JSONObject)
|| (bean instanceof JSONArray)) {
return true;
}
return false;
}
}

View file

@ -26,7 +26,9 @@ public class AddResearcherRoleToPersonGenerator extends AddRoleToPersonTwoStageG
return new ConstantFieldOptions(
"", "Select one",
"http://vivoweb.org/ontology/core#Grant", "Grant",
"http://vivoweb.org/ontology/core#Project", "Project");
"http://purl.obolibrary.org/obo/ERO_0000015", "Human Study",
"http://vivoweb.org/ontology/core#Project", "Project",
"http://purl.obolibrary.org/obo/ERO_0000014", "Research Project");
}
@Override

View file

@ -50,9 +50,14 @@ public class NewIndividualFormGenerator extends BaseEditConfigurationGenerator i
+ " ?newVcardInd vcard:hasName ?newVcardName . \n"
+ " ?newVcardName a vcard:Name . \n"
+ " ?newVcardName vcard:givenName ?firstName . \n"
+ " ?newVcardName vcard:familyName ?lastName . \n"
+ " ?newVcardName <http://vivoweb.org/ontology/core#middleName> ?middleName .",
N3_PREFIX + " ?newInd <" + RDFS.label.getURI() + "> ?label ."
+ " ?newVcardName vcard:familyName ?lastName . \n",
N3_PREFIX + " ?newInd <" + RDFS.label.getURI() + "> ?label .",
N3_PREFIX + "@prefix vcard:<http://www.w3.org/2006/vcard/ns#> .\n"
+ " ?newInd <http://purl.obolibrary.org/obo/ARG_2000028> ?newVcardInd . \n"
+ " ?newVcardInd a vcard:Individual . \n"
+ " ?newVcardInd vcard:hasName ?newVcardName . \n"
+ " ?newVcardName a vcard:Name . \n"
+ " ?newVcardName <http://vivoweb.org/ontology/core#middleName> ?middleName ."
));
config.addNewResource("newInd", vreq.getWebappDaoFactory().getDefaultNamespace());

View file

@ -11,16 +11,16 @@ import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONObject;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import edu.cornell.mannlib.semservices.bo.Concept;
import edu.cornell.mannlib.semservices.bo.ConceptInfo;
import edu.cornell.mannlib.semservices.bo.SemanticServicesError;
import edu.cornell.mannlib.semservices.view.BeanToJsonSerializer;
import edu.cornell.mannlib.vitro.webapp.controller.VitroHttpServlet;
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
import edu.cornell.mannlib.vitro.webapp.utils.ConceptSearchService.ConceptSearchServiceUtils;
@ -58,7 +58,9 @@ public class ConceptSearchServlet extends VitroHttpServlet {
conceptInfo.setSemanticServicesError(semanticServicesError);
}
conceptInfo.setConceptList(results);
String json = renderJson(conceptInfo);
json = StringUtils.replaceChars(json, "\r\t\n", "");
PrintWriter writer = resp.getWriter();
resp.setContentType("application/json");
@ -70,12 +72,18 @@ public class ConceptSearchServlet extends VitroHttpServlet {
}
}
protected String renderJson(ConceptInfo conceptInfo) {
JSONObject jsonObject = null;
jsonObject = BeanToJsonSerializer.serializeToJsonObject(conceptInfo);
log.debug(jsonObject.toString());
return jsonObject.toString();
}
ObjectMapper mapper = new ObjectMapper();
try {
return mapper.writeValueAsString(conceptInfo);
} catch (JsonProcessingException e) {
// TODO Auto-generated catch block
log.error("An error occurred in rendering conceptInfo as json ", e);
return null;
}
}
}

View file

@ -0,0 +1,115 @@
<!-- $This file is distributed under the terms of the license in /doc/license.txt$ -->
<script src="js/jquery.js"></script>
<script>
function TestLOD() {
self = this;
this.setup = setupButtons;
this.uri = "lodFacultyMember";
function setupButtons() {
document.getElementById("RDFXML_button").onclick = function() {
requestWithAcceptHeader(self.uri, "application/rdf+xml");
}
document.getElementById("N3_button").onclick = function() {
requestWithAcceptHeader(self.uri, "text/n3");
}
document.getElementById("TTL_button").onclick = function() {
requestWithAcceptHeader(self.uri, "text/turtle");
}
document.getElementById("JSONLD_button").onclick = function() {
requestWithAcceptHeader(self.uri, "application/json");
}
document.getElementById("BOGUS_URI_button").onclick = function() {
requestWithAcceptHeader(self.uri + "XX", "application/rdf+xml");
}
document.getElementById("BOGUS_ACCEPT_button").onclick = function() {
requestWithAcceptHeader(self.uri, "image/png");
}
document.getElementById("BOGUS_FORMAT_button").onclick = function() {
requestWithFormat(self.uri, "bogus");
}
document.getElementById("BOGUS_EXTENSION_button").onclick = function() {
requestWithExtension(self.uri, "bogus");
}
document.getElementById("CLEAR_button").onclick = clearResult
}
function requestWithAcceptHeader(uri, mimetype) {
$.ajax({
url: "individual/" + uri,
headers: {Accept: mimetype},
dataType: "text",
complete: displayResult
});
}
function requestWithFormat(uri, format) {
$.ajax({
url: "individual/" + uri + "?format=" + format,
dataType: "text",
complete: displayResult
});
}
function requestWithExtension(uri, extension) {
$.ajax({
url: "individual/" + uri + "/" + uri + "." + extension,
dataType: "text",
complete: displayResult
});
}
function displayResult(xhr, status) {
$("#responseCode").text(xhr.status);
$("#mimeType").text(getMimeType(xhr));
$("#responseText").text(xhr.responseText);
}
function clearResult() {
$("#responseCode").text("000");
$("#mimeType").text("No type");
$("#responseText").text("No text");
}
function getMimeType(xhr) {
var header = xhr.getResponseHeader("Content-Type");
var where = header.indexOf(";");
if (where == -1) {
return header;
} else {
return header.substring(0, where);
}
}
}
$(document).ready(function() {
new TestLOD().setup();
});
</script>
<h1>Test the Linked Open Data requests</h1>
<h3>Try various accept headers</h3>
<input type="submit" value="get RDFXML" id="RDFXML_button">
<input type="submit" value="get N3" id="N3_button">
<input type="submit" value="get TTL" id="TTL_button">
<input type="submit" value="get JSONLD" id="JSONLD_button">
<h3>Try non-existent URI with RDFXML accept header</h3>
<input type="submit" value="get BOGUS Individual" id="BOGUS_URI_button">
<input type="submit" value="use BOGUS Accept header" id="BOGUS_ACCEPT_button">
<input type="submit" value="use BOGUS format" id="BOGUS_FORMAT_button">
<input type="submit" value="use BOGUS extension" id="BOGUS_EXTENSION_button">
<h3>Response data</h3>
<input type="submit" value="CLEAR response" id="CLEAR_button">
<div>Response code is <b><span id="responseCode">000</span></b></div>
<div>MIME type is <b><span id="mimeType">No type</span></b></div>
<div>Text is:</div>
<div id="responseText" style="font-size:small;">No text</div>

View file

@ -0,0 +1,56 @@
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xmls: <http://www.w3.org/2001/XMLSchema#> .
@prefix local: <http://vivo.mydomain.edu/individual/> .
@prefix vivo: <http://vivoweb.org/ontology/core#> .
@prefix vcard: <http://www.w3.org/2006/vcard/ns#> .
@prefix obo: <http://purl.obolibrary.org/obo/> .
local:lodFacultyMember
a vivo:FacultyMember ;
rdfs:label "Example, Bad "^^xmls:string ;
obo:ARG_2000028 local:lodVcard ;
obo:RO_0000053 local:lodMembership ;
vivo:overview "Not someone on whom you should base your actions." ;
vivo:scopusId "10982375409" ;
vivo:eRACommonsId "My_eRA_ID" .
local:lodVcard
a vcard:Kind , vcard:Individual ;
obo:ARG_2000029 local:lodFacultyMember ;
vcard:hasName local:lodName ;
vcard:hasURL local:lodWebsite .
local:lodName
a vcard:Name ;
vcard:familyName "Example"^^xmls:string ;
vcard:givenName "Bad"^^xmls:string ;
vcard:honorificPrefix "Mr."^^xmls:string .
local:lodWebsite
a vcard:URL ;
rdfs:label "Slashdot" ;
vivo:rank "1"^^xmls:int ;
vcard:url "http://www.slashdot.org"^^xmls:anyURI .
local:lodMembership
a vivo:MemberRole ;
rdfs:label "Bozo"^^xmls:string ;
obo:RO_0000052 local:lodFacultyMember ;
vivo:dateTimeInterval local:lodInterval ;
vivo:roleContributesTo local:lodDepartment .
local:lodInterval
a vivo:DateTimeInterval ;
vivo:start local:lodStartDate .
local:lodStartDate
a vivo:DateTimeValue ;
vivo:dateTime "1992-01-01T00:00:00"^^xmls:dateTime ;
vivo:dateTimePrecision vivo:yearPrecision .
local:lodDepartment
a vivo:AcademicDepartment ;
rdfs:label "Department of Redundancy Department"^^xmls:string ;
vivo:contributingRole local:lodMembership .