1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one or more 3 * contributor license agreements. See the NOTICE file distributed with 4 * this work for additional information regarding copyright ownership. 5 * The ASF licenses this file to You under the Apache License, Version 2.0 6 * (the "License"); you may not use this file except in compliance with 7 * the License. You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 package org.apache.tika.metadata; 18 19 /** 20 * A collection of Dublin Core metadata names. 21 * 22 * @see <a href="http://dublincore.org">dublincore.org</a> 23 */ 24 public interface DublinCore { 25 26 /** 27 * Typically, Format may include the media-type or dimensions of the 28 * resource. Format may be used to determine the software, hardware or 29 * other equipment needed to display or operate the resource. Examples 30 * of dimensions include size and duration. Recommended best practice is 31 * to select a value from a controlled vocabulary (for example, the list 32 * of Internet Media Types [MIME] defining computer media formats). 33 */ 34 String FORMAT = "format"; 35 36 /** 37 * Recommended best practice is to identify the resource by means of 38 * a string or number conforming to a formal identification system. 39 * Example formal identification systems include the Uniform Resource 40 * Identifier (URI) (including the Uniform Resource Locator (URL)), 41 * the Digital Object Identifier (DOI) and the International Standard 42 * Book Number (ISBN). 43 */ 44 String IDENTIFIER = "identifier"; 45 46 /** 47 * Date on which the resource was changed. 48 */ 49 String MODIFIED = "modified"; 50 51 /** 52 * An entity responsible for making contributions to the content of the 53 * resource. Examples of a Contributor include a person, an organisation, 54 * or a service. Typically, the name of a Contributor should be used to 55 * indicate the entity. 56 */ 57 String CONTRIBUTOR = "contributor"; 58 59 /** 60 * The extent or scope of the content of the resource. Coverage will 61 * typically include spatial location (a place name or geographic 62 * coordinates), temporal period (a period label, date, or date range) 63 * or jurisdiction (such as a named administrative entity). Recommended 64 * best practice is to select a value from a controlled vocabulary (for 65 * example, the Thesaurus of Geographic Names [TGN]) and that, where 66 * appropriate, named places or time periods be used in preference to 67 * numeric identifiers such as sets of coordinates or date ranges. 68 */ 69 String COVERAGE = "coverage"; 70 71 /** 72 * An entity primarily responsible for making the content of the resource. 73 * Examples of a Creator include a person, an organisation, or a service. 74 * Typically, the name of a Creator should be used to indicate the entity. 75 */ 76 String CREATOR = "creator"; 77 78 /** 79 * A date associated with an event in the life cycle of the resource. 80 * Typically, Date will be associated with the creation or availability of 81 * the resource. Recommended best practice for encoding the date value is 82 * defined in a profile of ISO 8601 [W3CDTF] and follows the YYYY-MM-DD 83 * format. 84 */ 85 String DATE = "date"; 86 87 /** 88 * An account of the content of the resource. Description may include 89 * but is not limited to: an abstract, table of contents, reference to 90 * a graphical representation of content or a free-text account of 91 * the content. 92 */ 93 String DESCRIPTION = "description"; 94 95 /** 96 * A language of the intellectual content of the resource. Recommended 97 * best practice is to use RFC 3066 [RFC3066], which, in conjunction 98 * with ISO 639 [ISO639], defines two- and three-letter primary language 99 * tags with optional subtags. Examples include "en" or "eng" for English, 100 * "akk" for Akkadian, and "en-GB" for English used in the United Kingdom. 101 */ 102 String LANGUAGE = "language"; 103 104 /** 105 * An entity responsible for making the resource available. Examples of 106 * a Publisher include a person, an organisation, or a service. Typically, 107 * the name of a Publisher should be used to indicate the entity. 108 */ 109 String PUBLISHER = "publisher"; 110 111 /** 112 * A reference to a related resource. Recommended best practice is to 113 * reference the resource by means of a string or number conforming to 114 * a formal identification system. 115 */ 116 String RELATION = "relation"; 117 118 /** 119 * Information about rights held in and over the resource. Typically, 120 * a Rights element will contain a rights management statement for 121 * the resource, or reference a service providing such information. 122 * Rights information often encompasses Intellectual Property Rights 123 * (IPR), Copyright, and various Property Rights. If the Rights element 124 * is absent, no assumptions can be made about the status of these and 125 * other rights with respect to the resource. 126 */ 127 String RIGHTS = "rights"; 128 129 /** 130 * A reference to a resource from which the present resource is derived. 131 * The present resource may be derived from the Source resource in whole 132 * or in part. Recommended best practice is to reference the resource by 133 * means of a string or number conforming to a formal identification 134 * system. 135 */ 136 String SOURCE = "source"; 137 138 /** 139 * The topic of the content of the resource. Typically, a Subject will 140 * be expressed as keywords, key phrases or classification codes that 141 * describe a topic of the resource. Recommended best practice is to 142 * select a value from a controlled vocabulary or formal classification 143 * scheme. 144 */ 145 String SUBJECT = "subject"; 146 147 /** 148 * A name given to the resource. Typically, a Title will be a name by 149 * which the resource is formally known. 150 */ 151 String TITLE = "title"; 152 153 /** 154 * The nature or genre of the content of the resource. Type includes terms 155 * describing general categories, functions, genres, or aggregation levels 156 * for content. Recommended best practice is to select a value from a 157 * controlled vocabulary (for example, the DCMI Type Vocabulary 158 * [DCMITYPE]). To describe the physical or digital manifestation of 159 * the resource, use the Format element. 160 */ 161 String TYPE = "type"; 162 163 }