"Shared Worldview"@en "Cosmovisión compartida"@es comment "Shared archivistic data and definitions"@en comment "Definiciones y datos archivísticos compartidos"@es abbreviation swv thisOntology "http://purl.org/NET/durito/ontologies/2005/09/shared-worldview#" dependsRealm sys "Shared Archival Things Area"@en "Área para cosas archivísticas compartidas"@es sharedArchivalThings "Name"@en "Nombre"@es range xsd:string adjPhraseRule es "cuyo nombre contiene " tailSearchTerm "Call Number"@en "Código de referencia"@es adjPhraseRule es "cuyo código de referencia contiene " tailSearchTerm "Title"@en "Título"@es # range is hardcoded as swv:Title # order of instantiatingg stuff impedes us from setting range here rather than in Java adjPhraseRule es "con el título " tailReferringTerm adjPhraseRule es "cuyo título contiene " tailSearchTerm adjPhraseRule es "cuyo título" chaining M S # I thought we'd need this, but it seems we don't, and adding it crashes the system... Hmm.. # range swv:ComplexTitle searchWeight 9 hardcoded "Title"@en "Título"@es hardcoded "String Title"@en "Título en cadena"@es subDataTypeOf swv:Title subDataTypeOf xsd:string hardcoded "Prose"@en "Prosa"@es subDataTypeOf xsd:string hardcoded unOrderable "Describable Object Substitute"@en "Sustituto de objeto describible"@es subDataTypeOf xsd:string hardcoded unOrderable groupable "Description"@en "Descripción"@es adjPhraseRule es "cuya descripción contiene " tailSearchTerm range swv:Prose hardcoded searchWeight 8 "Notes"@en "Notas"@es range sys:LFMarkup "Abbreviation"@en "Abreviación"@es range xsd:string property swv:hasName minCardinality 1 maxCardinality 1 outRequirement fromPropRange multilingual defaultTextBPVFunction slot has_name captureSearchHits multilingual |{ (@root->has_name).text_bpv }| VariableDesc default ShortDesc default FullDesc default "Is Part to Whole"@en "Es parte de la totalidad"@es "Place"@en "Lugar"@es unGroupable "Broader"@en "Más amplio"@es useDefinition thing.has_name property swv:hasBroader minCardinality 0 maxCardinality 1 defaultTextBPVFunction slot has_name captureSearchHits multilingual |{ (@root->has_name).text_bpv }| "Material"@en "Material"@es "Materials"@en "Materiales"@es # inverse "Material de"@es # inverse "Material of"@en domain swv:PhysicalObject range swv:Material adjPhraseRule es "de " tailReferringTerm adjPhraseRule es "de un material" chaining M S "Physical Thing"@en "Cosa física"@es "Physical Object"@en "Objeto Físico"@es subClassOf swv:PhysicalThing "Inscripción"@es "Inscription"@en subPropertyOf swv:hasManifestationLink range swv:ManifestationLink "Seal"@en "Sello"@es subPropertyOf swv:hasManifestationLink range swv:ManifestationLink #La siguiente propiedad se usa para fotografías #soportes primarios "Vinculo a la manifestación principal"@es "Link to the main manifetation"@en subPropertyOf swv:hasManifestationLink range swv:ManifestationLink # # "Component Role"@en # "Rol del Componente"@es # # # "RoleOfPhotographSupport"@en # subClassOf swv:ComponentRole # property swv:hasManifestationLink outRequirement fromPropRange # # # has_manifestation_link->swv.manifestation_link.has_linked_manifestation # # # # # "Roles of physical supports for photographs"@en # "Roles de soportes físicos de fotografías"@es # hasGroupDomain swv:RoleOfPhotographSupport # bindToRuleSet thing # secondaryLevel # # rm primary # rm secondary # # # property swv:hasMaterial minCardinality 1 outRequirement fromPropRange # # useDefinition physical_things.has_component_link # # # useDefinition physical_things.has_main_component_link # property swv:hasDimensions outRequirement fromPropRange # # # has_inscription_or_mark_link->swv.manifestation_link.has_linked_manifestation # # "Spatial Measurement"@en "Medición Espacial"@es comment "Las instancias de esta clase son mediciones en el espacio físico"@es comment "The instances of this class are spatial mesuarements"@en "Dimensions Description"@en "Descripción de las dimensiones"@es comment "Las instancias de esta clase son descripciones de dimensiones"@es comment "The instances of this class are dimensions descriptions"@en subDataTypeOf swv:SpatialMeasurement bindToRuleSet dimensions_description unOrderable "Medida unidimensional"@es subDataTypeOf xsd:float bindToRuleSet unidimensional_measurement "Dimensions"@en "Dimensiones"@es domain swv:PhysicalThing range swv:DimensionsDescription # the following is a terrible hack, born of our erroneous different treatment of paths before and within # complex values # Here we should be menotymizing... or merging krrrs to make a single adj phrase rule adjPhraseRule es "" chaining M S "Height"@en "Altura"@es comment "Señala la altura"@es domain swv:DimensionsDescription range xsd:float adjPhraseRule es "de cm de alto" tailSearchTerm "Width"@en "Ancho"@es comment "Señala el ancho"@es domain swv:DimensionsDescription range xsd:float # this is also a hack... adjPhraseRule es "de cm de ancho" tailSearchTerm "Length"@en "Largo"@es comment "Señala el largo"@es domain swv:DimensionsDescription range xsd:float "Measurement Unit"@en "Unidad de medición"@es comment "Las instancias de esta clase son unidades de medición"@es "Measurement Unit"@en "Unidad de medición"@es comment "Señala la unidad de medición"@es domain swv:SpatialMeasurement range swv:MeasurementUnit property swv:hasHeight maxCardinality 1 property swv:hasWidth maxCardinality 1 property swv:hasMeasurementUnit minCardinality 1 maxCardinality 1 has_measurement_unit->measurement_unit.has_abbreviation has_measurement_unit->measurement_unit.has_name slot has_width slot has_height slot measurement_unit_abbrev defaultTextBPVFunction |{ # here we are forgoing the available method .val on literals, to invoke fetched TextBPV dependency registration # and thus make search highlighting work... x = (@root->has_width).just_number y = (@root->has_height).just_number abbrev = (@root->measurement_unit_abbrev).text_bpv "#{x} x #{y} #{abbrev}" }| # # # # defaultTextBPVFunction # # |{ # a = Array.new # a.push((ROOT->has_width).textBPV) if (ROOT->has_width).hasObject # a.push ((ROOT->has_height).textBPV) if (ROOT->has_height).hasObject # a.push ((ROOT->has_length).textBPV) if (ROOT->has_length).hasObject # d = a.join("x ") # d += (ROOT->has_measument_unit_abbr).textBPV # }| # # # # # this is an example of convoluted code that a new proposal should help us avoid defaultTextBPVFunction |{ in_desc = @lit->dimensions_description.has_width[inv] in_desc = @lit->dimensions_description.has_height[inv] if (in_desc.size == 0) mes_unit = in_desc->dimensions_description.measurement_unit_abbrev "#{@lit.val} #{mes_unit.val}" }| resultsSearchable |{ "#{@lit.val}" }| useDefinition thing.has_name property swv:hasAbbreviation multilingual "Measurements units mentioned for physical things"@en "Unidades de medida mencionadas para las cosas físicas"@es hasGroupDomain swv:MeasurementUnit bindToRuleSet measurement_unit secondaryLevel "Group Link"@en "Vínculo de grupo"@es range swv:GroupLink "Linked group"@en "Grupo vinculado"@es range sys:Group "Group Link"@en "Vínculo de grupo"@es comment "A link between one group and another"@en comment "Un vínculo entre un grupo y otro"@es bindToRuleSet group_link property swv:hasLinkedGroup minCardinality 1 maxCardinality 1 outRequirement fromPropRange "Spans"@en "Período"@es range swv:CalendarPointer # yet another terrible hack adjPhraseRule es "" tailSearchTerm "Starts"@en "Inicio"@es range swv:CalendarPointer # the following is a terrible hack, born of our erroneous different treatment of paths before and within # complex values # Here we should be menotymizing... or merging krrrs to make a single adj phrase rule adjPhraseRule es "" chaining M S "Ends"@en "Fin"@es range swv:CalendarPointer # the following is a terrible hack, born of our erroneous different treatment of paths before and within # complex values # Here we should be menotymizing... or merging krrrs to make a single adj phrase rule adjPhraseRule es "" chaining M S "Time Data"@en "Datos de tiempo"@es comment "Any data regarding time"@en comment "Cualquier dato acerca del tiempo"@es "Time Range"@en "Rango de tiempo"@es comment "Any period of time"@en comment "Cualquier período en el tiempo"@es subDataTypeOf swv:TimeData #comparisonVector Integer start_point default "Time Range with Specified Start and End Points"@en "Rango de tiempo con puntos inicial y final definidos"@es comment "A range of time with specified start and end points"@en comment "Un rango de tiempo con los puntos inicial y final definidos"@es subDataTypeOf swv:TimeRange bindToRuleSet time_range_wse "Time Range Over Unit"@en "Rango de tiempo por unidad"@es comment "A range of time defined by the beginning and end of a calendar time unit"@en comment "Un rango de tiempo definido por el inicio y fin de una unidad determinada del calendario"@es subDataTypeOf swv:TimeRange comparisonVector String time_unit default bindToRuleSet time_range_over_unit "Full Date"@en "Fecha completa"@es subDataTypeOf swv:CalendarPointer bindToRuleSet full_date "Calendar Pointer"@en "Indicador sobre el calendario"@es subDataTypeOf swv:TimeData #comparisonVector Integer point default "Year in the Common Era"@en "Año en la era común"@es subDataTypeOf swv:CalendarPointer bindToRuleSet year_in_common_era "Day"@en "Día"@es bindToRuleSet day_of_month "Month"@en "Mes"@es "Level of time precision"@en "Nivel de precisión en el tiempo"@es "Related Event Time"@en "Momento de un evento relacionado"@es comment "This property exists mainly as a superproperty of other more specifically defined ones"@en comment "Esta propiedad funciona principalmente como superpropiedad, cuyas descendientes se definen de manera más precisa"@es range swv:TimeRange "Level of time precision"@en "Nivel de precisión en el tiempo"@es domain swv:TimeData range swv:LevelOfTimePrecision "Year"@en "Año"@es domain swv:FullDate range swv:YearInCommonEra # the following is a terrible hack, born of our erroneous different treatment of paths before and within # complex values # Here we should be menotymizing... or merging krrrs to make a single adj phrase rule adjPhraseRule es "" tailSearchTerm "Month"@en "Mes"@es domain swv:FullDate range swv:Month "Day"@en "Día"@es domain swv:FullDate range swv:DayOfMonth property swv:starts minCardinality 1 maxCardinality 1 outRequirement fromPropRange property swv:ends minCardinality 1 maxCardinality 1 outRequirement fromPropRange property swv:hasLevelOfTimePrecision minCardinality 0 maxCardinality 1 outRequirement fromPropRange # # # |{ (ROOT->starts).point }| # # slot starts slot ends defaultTextBPVFunction |{ (@root->starts).text_bpv + " - " + (@root->ends).text_bpv }| property swv:spans minCardinality 1 maxCardinality 1 outRequirement fromPropRange property swv:hasLevelOfTimePrecision minCardinality 0 maxCardinality 1 outRequirement fromPropRange has_level_of_time_precision->level_of_time_precision.has_abbrev |{ (@root->spans).val }| defaultTextBPVFunction slot time_precision_abbrev slot spans captureSearchHits |{ abbrev = @root->time_precision_abbrev s = @root->spans if (abbrev.size > 0) "#{abbrev.text_bpv} #{s.text_bpv}" else "#{s.text_bpv}" end }| |{ "nada" }| # # # |{ Time.utc(LIT.textBPV).to_i }| # # useDefinition thing.has_name property swv:hasAbbreviation |{ "nada" }| property swv:hasYear minCardinality 1 maxCardinality 1 property swv:hasMonth minCardinality 1 maxCardinality 1 property swv:hasDayOfMonth minCardinality 1 maxCardinality 1 slot has_year slot has_month slot has_day_of_month defaultTextBPVFunction |{ year = (@root->has_year).text_bpv month = (@root->has_month).text_bpv day = (@root->has_day_of_month).text_bpv "#{day} de #{month} de #{year}" }| "Levels of time precision"@en "Niveles de precisión en el tiempo"@es hasGroupDomain swv:LevelOfTimePrecision bindToRuleSet level_of_time_precision secondaryLevel "Months"@en "Meses"@es hasGroupDomain swv:Month bindToRuleSet thing secondaryLevel "Person"@en "Persona"@es "Given Names"@en "Nombres"@es subPropertyOf swv:hasName range xsd:string "Last Names"@en "Apellidos"@es subPropertyOf swv:hasName range xsd:string property swv:hasGivenNames minCardinality 1 maxCardinality 1 outRequirement fromPropRange property swv:hasLastNames minCardinality 1 maxCardinality 1 outRequirement fromPropRange orderUsing has_last_names slot has_last_names captureSearchHits slot has_given_names captureSearchHits |{ (@root->has_given_names).text_bpv + " " + (@root->has_last_names).text_bpv }| defaultTextBPVFunction slot has_last_names captureSearchHits slot has_given_names captureSearchHits |{ (@root->has_last_names).text_bpv + ", " + (@root->has_given_names).text_bpv }| defaultOrderBy has_last_names VariableDesc default ShortDesc default FullDesc default "People mentioned in collections in these archives"@en "Personas mencionadas en las colecciones de estos archivos"@es hasGroupDomain swv:Person bindToRuleSet person secondaryLevel "Institution"@en "Institución"@es "Curated by Institution"@en "Institución de resguardo"@es range swv:Institution adjPhraseRule es "resguardad por " tailReferringTerm adjPhraseRule es "resguardad por una institución" chaining F S "Author"@en "Autor"@es subClassOf swv:Person "Author"@en "Autor"@es range swv:Author adjPhraseRule es "escrit por " tailReferringTerm adjPhraseRule es "escrit por una persona" chaining F S "City"@en "Ciudad"@es subClassOf swv:Place "Country"@en "País"@es subClassOf swv:Place "State"@en "Estado"@es subClassOf swv:Place "Delegation"@en "Delegación"@es subClassOf swv:Place "Municipality"@en "Municipio"@es subClassOf swv:Place "Neighborhood"@en "Vecindario"@es subClassOf swv:Place unGroupable "Street"@en "Calle"@es subClassOf swv:Place unGroupable "Square"@en "Plaza"@es subClassOf swv:Place unGroupable "Street Location"@en "Ubicación de calle"@es subClassOf swv:Place unGroupable # Note: the range of the following properties is weird because of current limitations # in our mechanism for generating search results, as well as selection of stuff for grouping "Country"@en "País"@es range swv:Place range swv:Country compactInSearch "State"@en "Estado"@es range swv:Place range swv:State compactInSearch "City"@en "Ciudad"@es range swv:Place range swv:City compactInSearch "Delegation or Municipality"@en "Municipio o Delegación"@es range swv:Place range swv:Delegation range swv:Municipality compactInSearch "Neighborhood"@en "Colonia o Barrio"@es range swv:Place range swv:Neighborhood compactInSearch "Street or Square"@en "Calle o plaza"@es range swv:Place range swv:Street range swv:Square compactInSearch "Street Address"@en "Calle y número"@es range swv:Place range swv:StreetLocation compactInSearch "Related Location"@en "Ubicación relacionada"@es comment "This property exists mainly as a superproperty of other more specifically defined ones"@en comment "Esta propiedad funciona principalmente como superpropiedad, cuyas descendientes se definen de manera más precisa"@es range swv:Place useDefinition thing.has_name property swv:atStreetLocation minCardinality 0 maxCardinality 1 outRequirement fromPropRange property swv:hasStreetOrSquare minCardinality 0 maxCardinality 1 outRequirement fromPropRange property swv:inNeighborhood minCardinality 0 maxCardinality 1 outRequirement fromPropRange property swv:inDelegationOrMunicipality minCardinality 0 maxCardinality 1 outRequirement fromPropRange # nota: en el modelaje actual este descriptor no se utiliza property swv:inCity minCardinality 0 maxCardinality 1 outRequirement fromPropRange property swv:inStateOrProvince minCardinality 0 maxCardinality 1 outRequirement fromPropRange property swv:inCountry minCardinality 0 maxCardinality 1 outRequirement fromPropRange # the following is all very, very hackish, but teaches us useful lessons slot has_name captureSearchHits slot has_street_location slot in_neighborhood slot in_delegation_or_municipality slot in_city slot in_state_or_province slot in_country # this slot isn't actually used in the function, but we need it # it can't get here by slot inheritance because our slots can't do slots from functions on the same RS # slot has_street_or_square # missing slot for this.short_name2 defaultTextBPVFunction |{ parts = [ @root->in_neighborhood, @root->in_delegation_or_municipality, @root->in_city, @root->in_state_or_province, @root->in_country ] parts.map! { |part| (part.size > 0) ? part.short_name2 : nil } parts.compact! parts.unshift(@root.short_name2) if ((@root->has_street_location).size > 0) parts.join(", ") }| slot has_name slot has_street_location slot has_street_or_square |{ name = @root->has_name street_location = @root->has_street_location if (street_location.size > 0) street_or_square = @root->has_street_or_square if (street_or_square[0] == street_location[0]) name.text_bpv else "#{street_or_square.short_name1} #{name.text_bpv}" end else name.text_bpv end }| slot in_neighborhood # missing slot for short_name1 |{ neighborhood = @root->in_neighborhood if ( (neighborhood.size > 0) && (neighborhood[0] == @root)) "Col. #{@root.short_name1}" else @root.short_name1 end }| "Is located in"@en "Se ubica en"@es VariableDesc default ShortDesc default FullDesc default "Places"@en "Lugares"@es hasGroupDomain swv:Place bindToRuleSet place secondaryLevel "Content Link"@en "Vínculo de contenido"@es comment "Describes how content is inscribed in a manifestation"@en comment "Describe cómo los contenidos se plasman en una manifestación"@es "Content"@en "Contenido"@es "Manifestation"@en "Manifestación"@es "ManifestationLink"@en "Vínculo a manifestación"@es "Location On Object"@en "Ubicación sobre el objeto"@es "Location On Object"@en "Ubicación sobre el objeto"@es domain swv:ManifestationLink range swv:LocationOnObject comment "Indica la ubicación de una manifestación sobre el objeto físico"@es "Linked Manifestation"@en "Manifestación vinculada"@es domain swv:ManifestationLink range swv:Manifestation # esto no debe ser necesario pero lo es range swv:Inscription range swv:SealManifestation "Manifestation Link"@en "Vínculo a una manifestación"@es domain swv:PhysicalObject range swv:ManifestationLink "Inscribes Content"@en "Plasma el contenido"@es # inverse "Content of"@en # inverse "Contenido de"@es range swv:Content # this shouldn't be necessary, but it is range swv:Seal range swv:Text "Content Link"@en "Vínculo de contenido"@es range swv:ContentLink "Main Content Link"@en "Vínculo de contenido principal"@es subPropertyOf swv:hasContentLink range swv:ContentLink "Reproduced from"@en "Reproducido de"@es domain swv:ManifestationLink range swv:Manifestation "Main Content Group Link"@en "Vínculo de grupo de contenidos principales"@es comment "A link between a group of manifestations and the group containing their main content"@en comment "Un vínculo entre un grupo de manifestaciones y su contenido principal"@es subDataTypeOf swv:GroupLink # # "Manifestation"@en # "Manifestación"@es #Ojo: Puede ser que esto no se utilice #En la verisón anterior no especificábamos el dominio #domain swv:ManifestationLink #range swv:Manifestation # #Parece que esto tampoco se usa # # "Main Manifestation"@en # "Manifestación principal"@es # subPropertyOf swv:hasManifestation # property swv:hasLinkedManifestation minCardinality 1 maxCardinality 1 outRequirement fromPropRange property swv:hasLocationOnObject minCardinality 1 maxCardinality 1 outRequirement fromPropRange property swv:reproducedFrom minCardinality 0 maxCardinality 1 outRequirement fromPropRange defaultTextBPVFunction slot has_linked_manifestation |{ (@root->has_linked_manifestation).text_bpv }| property swv:hasLinkedContent minCardinality 1 maxCardinality 1 outRequirement fromPropRange property swv:reproducedFrom minCardinality 0 maxCardinality 1 outRequirement fromPropRange # # # manifestation.has_content_link[inv] # # minCardinality 1 # maxCardinality 1 # # # defaultTextBPVFunction slot has_linked_content |{ (@root->has_linked_content).text_bpv }| VariableDesc default ShortDesc default FullDesc default property swv:hasContentLink minCardinality 0 outRequirement fromPropRange multipleOrdered property swv:hasMainContentLink minCardinality 1 maxCardinality 1 outRequirement fromPropRange # # # manifestation_link.has_linked_manifestation[inv]->manifestation_link.has_location_on_object # # # # has_main_content_link->content_link.has_linked_content # # useDefinition manifestation.has_main_content_link manifestation_link.has_linked_manifestation[inv]->manifestation_link.has_location_on_object has_main_content_link->content_link.has_linked_content slot has_main_content slot has_location_on_object defaultTextBPVFunction |{ main_content = @root->has_main_content location_on_obj = @root->has_location_on_object "\"#{main_content.text_bpv}\" (#{location_on_obj.text_bpv.downcase})" }| # # # # content_link.has_linked_content[inv]->content_link.has_linked_manifestation # # |{ (@out.classes).includes(sys:ComputerFile) }| # |{ (@out->sys.files.has_system_accessible_uri).size > 0 }| # # # # property swv:hasGroupLink minCardinality 0 minCardinality 1 outDataType swv:MainContentGroupLink # # # has_main_content_group_link->group_link.has_linked_group # # "Conservation Status"@en "Estado de conservacion"@es "Conservation Status"@en "Estado de conservacion"@es range swv:Prose "Conservation Statuses"@en "Estados de conservación"@es hasGroupDomain swv:ConservationStatus bindToRuleSet thing secondaryLevel "Topic"@en "Tema"@es "Topic"@en "Tema"@es range swv:Topic "Topics"@en "Temas"@es hasGroupDomain swv:Topic bindToRuleSet thing secondaryLevel "Text"@en "Texto"@es subClassOf swv:Content "Inscription"@en "Inscripción"@es subClassOf swv:Manifestation unGroupable "Handwritten Note"@en "Anotación manuscrita"@es subClassOf swv:Inscription "String Representation"@en "Representación como cadena de caracteres"@es domain swv:Text range xsd:string adjPhraseRule es "que contiene " tailSearchTerm property swv:hasStringRepresentation minCardinality 1 maxCardinality 1 outRequirement fromPropRange multilingual VariableDesc default ShortDesc default FullDesc default slot has_string_representation captureSearchHits defaultTextBPVFunction |{ (@root->has_string_representation).text_bpv }| "Publication"@en "Publicacion"@es subClassOf swv:Content "Vínculo a un componente de contenido"@es "Link to Content Component"@en "Publisher"@en "Editorial"@es "Ubicación en la publicación"@es "Location in Publication"@en subDataTypeOf xsd:string bindToRuleSet sys.xsd_string "Researcher"@en "Investigador"@es adjPhraseRule es "que presenta una investigación realizada por " tailReferringTerm adjPhraseRule es "que presenta una investigación realizada por una persona" chaining F S subPropertyOf swv:hasAuthor range swv:Author "ContentComponent"@en "Componente de contenido"@es range swv:ContentComponentLink # this property is a temporary hack, since # ranges and soc domains don't take into account # class hierarchies (though they should have) "Linked Publication"@en "Publicación vinculada"@es range swv:Publication "Componente de contenido"@es "Content Component"@en range swv:Content "Publication date"@en "Fecha de publicación"@es subPropertyOf swv:hasRelatedEventTime # this may be a range or a calendar pointer; think of the different meaning of the publication date for a newspaper or a book range swv:TimeData # this shouldn't be necessary, but for now it is range swv:TimeRangeOverUnit range swv:TimeRangeWSE # messing with chaining consistency here, but we know it'll work # rules for tail are irrelevant adjPhraseRule es "editad en" chaining M S "Ubicación en la publicación"@es "Location in Publication"@en domain swv:ContentComponentLink range swv:LocationInPublication # adjPhraseRule es "en " tailReferringTerm adjPhraseRule es "en una ubicación que contiene " tailSearchTerm "Publisher"@en "Editorial"@es domain swv:Publication range swv:Publisher adjPhraseRule es "editad por " tailReferringTerm adjPhraseRule es "editad por una casa editorial" chaining F S "Place of Publication"@en "Lugar de publicación"@es domain swv:Publication range swv:Place adjPhraseRule es "editad en " tailReferringTerm adjPhraseRule es "editad en un lugar" chaining F S # # "Volume"@en # "Volumen"@es # domain swv:Publication # range xsd:string # property swv:hasAuthor outRequirement fromPropRange property swv:hasResearchAuthor outRequirement fromPropRange property swv:hasTitle minCardinality 1 outRequirement fromPropRange # # property swv:hasVolumeInformation # maxCardinality 1 # outRequirement fromPropRange # property swv:hasPublicationDate minCardinality 1 maxCardinality 1 outRequirement fromPropRange property swv:hasPublisher outRequirement fromPropRange property swv:hasPlaceOfPublication minCardinality 1 maxCardinality 1 outRequirement fromPropRange property swv:hasContentComponentLink minCardinality 1 outRequirement fromPropRange slot has_title captureSearchHits slot has_author slot has_research_author slot has_place_of_publication slot has_publisher slot has_publication_date defaultTextBPVFunction |{ ref = "" # authors authors = @root->has_author 0.upto(authors.size - 1) do |i| if (i == 0) ref << authors[i].full_name_lf else if (i < authors.size - 1) ref << ", #{authors[i].full_name_fl}" else ref << " y #{authors[i].full_name_fl}" end end ref << ". " if (i == authors.size - 1) end # the following is a hack for a single object with a "research author" research_authors = @root->has_research_author if (research_authors.size == 1) ref << "#{research_authors.full_name_lf} (investigación). " end # title title = @root->has_title ref << "#{title.text_bpv}, " # volume # volume = @root->has_volume_information # ref << "#{volume.text_bpv}, " if (volume.size > 0) # place of pub place = @root->has_place_of_publication ref << "#{place.text_bpv}, " if (place.size > 0) # publishers publishers = @root->has_publisher if (publishers.size > 0) publishers_array = Array.new publishers.each { |publisher| publishers_array << publisher.text_bpv } ref << "#{publishers_array.join('/')}, " end # date date = @root->has_publication_date ref << "#{date.text_bpv}" ref }| property swv:hasLocationInPublication minCardinality 1 maxCardinality 1 outRequirement fromPropRange property swv:hasLinkedContentComponent minCardinality 1 outRequirement fromPropRange property swv:hasLinkedPublication minCardinality 1 outRequirement fromPropRange slot has_linked_publication slot has_location_in_publication defaultTextBPVFunction |{ for_pub = @root->has_linked_publication for_pub_text = for_pub.size > 0 ? for_pub.text_bpv : "" loc = @root->has_location_in_publication loc_text = loc.size > 0 ? ", #{loc.text_bpv}" : "" "#{for_pub_text}#{loc_text}." }| "Symbol"@en "Símbolo"@es subClassOf swv:Content "Seal"@en "Sello"@es subClassOf swv:Content comment "Las instancias de esta clase son sellos"@es comment "The instances of this class are seals"@en "Manifestation of a seal"@en "Manifestación de un sello"@es subClassOf swv:Manifestation useDefinition manifestation.has_main_content_link property swv:hasDescription outRequirement fromPropRange manifestation_link.has_linked_manifestation[inv]->manifestation_link.has_location_on_object has_main_content_link->content_link.has_linked_content slot has_description slot has_main_content slot has_location_on_object defaultTextBPVFunction |{ d = @root->has_description main_content = @root->has_main_content location_on_obj = @root->has_location_on_object "#{d.text_bpv} / #{main_content.text_bpv} (#{location_on_obj.text_bpv.downcase})" }| useDefinition text.has_string_representation property swv:hasDescription outRequirement fromPropRange slot has_description slot has_string_representation defaultTextBPVFunction |{ # note: no provisions made for having both a string rep and a description d = @root->has_description if (d.size > 0) "#{d.text_bpv}" else str_rep = @root->has_string_representation "\"#{str_rep.text_bpv}\"" end }| "Image"@en "Imágen"@es subClassOf swv:Content "Photograph"@en "Foto"@es subClassOf swv:PhysicalObject comment "This class is the whole physical object that we understand as a photograph includes"@en comment "Esta clase comprende a la fotografía con sus soportes como un solo objeto físico"@es "Photograph Manifestation"@en "Manifestación fotográfica"@es subClassOf swv:Manifestation comment "This class represents a specific manifestation of a photograph"@en comment "Esta clase representa una manifestación específica de una fotografía"@es "Photographic Print"@en "Fotografía"@es gender es F # fix class name "Role In Photographic Process"@en "Rol en el preceso fotográfico"@es "Tone and Color"@en "Tono y color"@es "Image Support"@en "Soporte para imágen"@es subClassOf swv:PhysicalObject comment "Clase genérica para los soporte de las imágenes"@es comment "Generic class for the image supports"@en "Photograph Support"@en "Soporte Fotográfico"@es subClassOf swv:ImageSupport "Image Material"@en "Material"@es subClassOf swv:Material "Image Support Material"@en "Material del soporte de la imágen"@es subClassOf swv:Material "Format according to size of the photographic print"@en "Formato según el tamaño de la impresión fotográfica"@es "Soporte principal"@es range swv:PhotographSupport adjPhraseRule es "con soporte primario" chaining M S "Soporte secundario"@es range swv:PhotographSupport adjPhraseRule es "con soporte secundario" chaining M S "Photographer"@en "Fotógrafo"@es adjPhraseRule es "tomad por " tailReferringTerm adjPhraseRule es "tomad por una persona" chaining F S searchWeight 8 subPropertyOf swv:hasAuthor range swv:Author "Editor"@en "Editor"@es adjPhraseRule es "editad por " tailReferringTerm adjPhraseRule es "editad por una persona" chaining F S subPropertyOf swv:hasAuthor range swv:Author searchWeight 8 comment "Person or organization who is the creator of the photographic print not necessarily the photographer"@en "Initial Photo Location"@en "Ubicación de la fotografía original"@es subPropertyOf swv:hasRelatedLocation range swv:Place adjPhraseRule es "tomad en " tailReferringTerm adjPhraseRule es "tomad en un lugar" chaining M S #range swv:GeographicArea searchWeight 7 "Photograph taken from"@en "Fotografía tomada desde"@es # adjPhraseRule es "tomad desde " tailReferringTerm adjPhraseRule es "tomad desde un lugar cuya descripción contiene " tailSearchTerm range swv:Prose searchWeight 3 "Photograph taken Facing"@en "Fotografía tomada hacia"@es # adjPhraseRule es "tomad hacia " tailReferringTerm adjPhraseRule es "tomad hacia un lugar cuya descripción contiene " tailSearchTerm range swv:Prose searchWeight 3 "Initial Photo Date"@en "Fecha de la fotografía original"@es subPropertyOf swv:hasRelatedEventTime range swv:TimeRange # the following should not be necessary, but it is range swv:TimeRangeOverUnit range swv:TimeRangeWSE # messing with chaining consistency here, but we know it'll work # rules for tail are irrelevant adjPhraseRule es "tomad en" chaining M S searchWeight 7 # fix prop name "Role In Photographic Process"@en "Rol en el proceso fotográfico"@es # inverse "Tipo de objeto"@es domain swv:Photograph range swv:RoleInPhotographicProcess "Tone and Color"@en "Tono y color"@es # inverse "Tono y color de"@es # inverse "Tone and color of"@en domain swv:Photograph range swv:ToneAndColor "Format"@en "Formato"@es domain swv:Photograph range swv:Format # properties for associated documents "Produced from the same negative"@en "Fotografía producida a partir del mismo negativo"@es range swv:PhotographicPrint # some more unpleasant hackishness here adjPhraseRule es "producid a partir del mismo negativo que " tailReferringTerm adjPhraseRule es "producid a partir del mismo negativo que fotografía" chaining F P searchWeight 2 "Reproduction of"@en "Reproducida de esta imagen"@es range swv:PhotographicPrint # some more unpleasant hackishness here adjPhraseRule es "reproducid de " tailReferringTerm adjPhraseRule es "reproducid de fotografía" chaining F P searchWeight 2 "Is in the Same Series"@en "Fotografía que pertenece a la misma serie"@es range swv:PhotographicPrint # some more unpleasant hackishness here adjPhraseRule es "de la misma serie que " tailReferringTerm adjPhraseRule es "de la misma serie que fotografía" chaining F P searchWeight 2 "Has the Same Composition"@en "Fotografía con la misma composición"@es range swv:PhotographicPrint # some more unpleasant hackishness here adjPhraseRule es "con la misma composición que " tailReferringTerm adjPhraseRule es "con la misma composición que fotografía" chaining F P searchWeight 2 "Objeto de otro tipo donde aparece esta imagen"@es "Other related objects"@en range swv:ContentComponentLink # here adj phrases are taken care of with a broader krrr # only used for hits on locations in publications adjPhraseRule es "que aparece en " tailReferringTerm adjPhraseRule es "que aparece en una obra," chaining F S searchWeight 2 "Same Shot from a Different Camera"@en "Fotografía de la misma serie, tomada con una cámara de distinto formato"@es range swv:PhotographicPrint # some more unpleasant hackishness here adjPhraseRule es "de la misma serie (tomad con una cámara de distinto formato) que " tailReferringTerm adjPhraseRule es "de la misma serie (tomad con una cámara de distinto formato) que fotografía" chaining F P searchWeight 2 "Publication Note"@en "Fotografía publicada en"@es # inverse "Obra que publica"@es range swv:ContentComponentLink # here adj phrases are mainly taken care of with a broader krrr # the following adj phrase rule is only for hits on locations in publications adjPhraseRule es "que aparece en " tailReferringTerm adjPhraseRule es "que aparece en una obra," chaining F S searchWeight 2 property swv:hasRoleInPhotographicProcess minCardinality 1 maxCardinality 1 outRequirement fromPropRange "Roles On Photographic Process"@en "Roles en el proceso fotográfico"@es hasGroupDomain swv:RoleInPhotographicProcess bindToRuleSet thing secondaryLevel "Tonos y colores"@en "Tones and colors"@es hasGroupDomain swv:ToneAndColor bindToRuleSet hierarchy_element secondaryLevel "Image materials"@en "Materiales de imágenes"@es hasGroupDomain swv:ImageMaterial bindToRuleSet thing secondaryLevel "Images Support Materials"@en "Materiales de soportes de imágenes"@es hasGroupDomain swv:ImageSupportMaterial bindToRuleSet thing secondaryLevel "Formats for photographic images"@en "Formatos para imágenes fotográficas"@es hasGroupDomain swv:Format bindToRuleSet thing secondaryLevel "Exhibition"@en "Exposición pública de la fotografía"@es range swv:Exhibition adjPhraseRule es "expuest públicamente en " tailReferringTerm # hackish violation of gramatical coherence of chaining phrases adjPhraseRule es "expuest públicamente" chaining M S searchWeight 2 "Exhibition"@en "Exhibición"@es "Venue"@en "Recinto"@es range swv:Venue adjPhraseRule es "en " tailReferringTerm adjPhraseRule es "en una sala" chaining F S "Recinto"@es "Venue"@en subClassOf swv:Place unGroupable "Venue Location"@en "Ubicación del recinto"@es subPropertyOf swv:hasRelatedLocation range swv:Place adjPhraseRule es "ubicad en " tailReferringTerm adjPhraseRule es "ubicad en un lugar" chaining M S "Fecha de exhibición"@es subPropertyOf swv:hasRelatedEventTime range swv:TimeRange # the following shouldn't be necessary, but it is range swv:TimeRangeOverUnit range swv:TimeRangeWSE # messing with chaining consistency here, but we know it'll work # rules for tail are irrelevant adjPhraseRule es "en" chaining M S property swv:hasTitle property swv:hasVenue property swv:hasExhibitionDate defaultTextBPVFunction slot has_title captureSearchHits slot has_venue slot has_exhibition_date |{ title = (@root->has_title).text_bpv venue = (@root->has_venue).text_bpv date = (@root->has_exhibition_date).text_bpv "\"#{title}\", en #{venue}, #{date}." }| useDefinition thing.has_name property swv:hasVenueLocation defaultTextBPVFunction slot has_name captureSearchHits slot has_venue_location |{ name = (@root->has_name).text_bpv loc = (@root->has_venue_location).text_bpv "#{name}, #{loc}" }| # for the time being we'll be using just the hasTitle property in current collections "Title"@en "Título"@es adjPhraseRule es "con el título " tailReferringTerm adjPhraseRule es "cuyo título contiene " tailSearchTerm # violation of uniform gramatic structures for chaining adj phrases # but we know it'll work adjPhraseRule es "cuyo título" chaining M S subPropertyOf swv:hasTitle range swv:ComplexTitle searchWeight 9 "Complex Title"@en "Título complejo"@es subDataTypeOf swv:Title comparisonVector String title_text default bindToRuleSet complex_title "Was Taken From"@en "Fué tomado de"@es domain swv:ComplexTitle range swv:HandWrittenNote range swv:Publication "Title Text"@en "Texto del título"@es # violation of uniform gramatic structures for chaining adj phrases # but we know it'll work adjPhraseRule es "contiene " tailSearchTerm domain swv:ComplexTitle range xsd:string property swv:wasTakenFrom minCardinality 1 maxCardinality 1 outRequirement fromPropRange property swv:hasTitleText minCardinality 1 maxCardinality 1 outRequirement fromPropRange |{ title = (@root->has_title_text).val title.gsub!(/\,|\.|\-|\=|\;|\:|\!|\'|\"|\(|\)|\[|\]|\~|\*|\+|\?|\¿|\!|\¡/, ' ') title.squeeze!(' ') title.downcase! title.strip! title.sub(/^(el\ |la\ |los\ |las\ )/, '') }| defaultTextBPVFunction slot has_title_text captureSearchHits |{ # for now, this is a hack # really we should be checking the class of a single result in from, no the number of results from = @root->was_taken_from text = @root->has_title_text if (from.size > 0) "\"" + text.text_bpv + "\" (de una inscripción en un objeto)" else text.text_bpv end }| slot has_title_text |{ "\"" + (@root->has_title_text).text_bpv + "\"" }| "Formal Structure"@en "Estructura Formal"@es "Orientation"@en "Orientacion"@es "Plane"@en "Plane"@es "Formal Structure"@en "Estructura Formal"@es range swv:FormalStructure adjPhraseRule es "cuya estructura formal es " tailReferringTerm adjPhraseRule es "con una estructura formal" chaining F S "Orientation"@en "Orientación"@es # inverse "Orientation of"@en # inverse "Orientación de"@es range swv:Orientation adjPhraseRule es "cuya orientación es " tailReferringTerm adjPhraseRule es "con una orientación" chaining F S "Plane"@en "Plano"@es range swv:Plane adjPhraseRule es "cuyo plano es " tailReferringTerm adjPhraseRule es "con un plano" chaining F S "Types of formal structures"@en "Tipos de estructuras formales"@es hasGroupDomain swv:FormalStructure bindToRuleSet thing secondaryLevel "Types of orientations"@en "Tipos de orientaciones"@es hasGroupDomain swv:Orientation bindToRuleSet thing secondaryLevel "Types of planes"@en "Tipos de planos"@es hasGroupDomain swv:Plane bindToRuleSet thing secondaryLevel "Identificador extendido"@es subPropertyOf swv:hasUniqueIdentifier "Título breve"@es subPropertyOf swv:hasTitle "Volumen"@es "Historia institucional / biográfica"@es "Historia archivística"@es "Forma de ingreso"@es "Resumen de alcance y contenido"@es "Valoración, selección y eliminación"@es "Nuevos ingresos"@es "Organización"@es "Condiciones de acceso"@es "Condiciones de reproducción"@es "Existencia de otros ejemplares"@es "Nota de los documentalistas"@es "Reglas o normas"@es "Fecha de descripción"@es