Contents 1 Metadata 2 In computer science 2.1 In computer languages 3 Ambiguity 3.1 Identifiers (IDs) versus Unique identifiers (UIDs) 3.2 Implicit context and namespace conflicts 4 Identifiers in various disciplines 5 See also 6 References


Metadata[edit] In metadata, an identifier is a language-independent label, sign or token that uniquely identifies an object within an identification scheme. The suffix identifier is also used as a representation term when naming a data element. ID codes may inherently carry metadata along with them. For example, when you know that the food package in front of you has the identifier "2011-09-25T15:42Z-MFR5-P02-243-45", you not only have that data, you also have the metadata that tells you that it was packaged on September 25, 2011, at 3:42pm UTC, manufactured by Licensed Vendor Number 5, at the Peoria, IL, USA plant, in Building 2, and was the 243rd package off the line in that shift, and was inspected by Inspector Number 45. Arbitrary identifiers might lack metadata. For example, if a food package just says 100054678214, its ID may not tell anything except identity—no date, manufacturer name, production sequence rank, or inspector number. In some cases, arbitrary identifiers such as sequential serial numbers leak information (i.e. the German tank problem). Opaque identifiers—identifiers designed to avoid leaking even that small amount of information—include "really opaque pointers" and Version 4 UUIDs.


In computer science[edit] In computer science, identifiers (IDs) are lexical tokens that name entities. Identifiers are used extensively in virtually all information processing systems. Identifying entities makes it possible to refer to them, which is essential for any kind of symbolic processing. In computer languages[edit] In computer languages, identifiers are tokens (also called symbols) which name language entities. Some of the kinds of entities an identifier might denote include variables, types, labels, subroutines, and packages. Which character sequences constitute identifiers depends on the lexical grammar of the language. A common rule is alphanumeric sequences, with underscore also allowed, and with the condition that it not begin with a digit (to simplify lexing by avoiding confusing with integer literals) – so foo, foo1, foo_bar, _foo are allowed, but 1foo is not – this is the definition used in earlier versions of C and C++, Python 2, and many other languages. Later versions of these languages, along with many other modern languages support almost all Unicode characters in an identifier. However, a common restriction is not to permit whitespace characters and language operators; this simplifies tokenization by making it free-form and context-free. For example, forbidding + in identifiers (due to its use as a binary operation) means that a+b and a + b can be tokenized the same, while if it were allowed, a+b would be an identifier, not an addition. Whitespace in identifier is particularly problematic, as if spaces are allowed in identifiers, then a clause such as if rainy day then 1 is legal, with rainy day as an identifier, but tokenizing this requires the phrasal context of being in the condition of an if clause. Some languages do allow spaces in identifiers, however, such as ALGOL 68 and some ALGOL variants – for example, the following is a valid statement: real half pi; which could be entered as .real. half pi; (keywords are represented in boldface, concretely via stropping). In ALGOL this was possible because keywords are syntactically differentiated, so there is no risk of collision or ambiguity, spaces are eliminated during the line reconstruction phase, and the source was processed via scannerless parsing, so lexing could be context-sensitive. In most languages, some character sequences have the lexical form of an identifier but are known as keywords – for example, if is frequently a keyword for an if clause, but lexically is of the same form as ig or foo namely a sequence of letters. This overlap can be handled in various ways: these may be forbidden from being identifiers – which simplifies tokenization and parsing – in which case they are reserved words; they may both be allowed but distinguished in other ways, such as via stropping; or keyword sequences may be allowed as identifiers and which sense is determined from context, which requires a context-sensitive lexer. Non-keywords may also be reserved words (forbidden as identifiers), particularly for forward compatibility, in case a word may become a keyword in future. In a few languages, e.g., PL/1, the distinction is not clear. The scope, or accessibility within a program of an identifier can be either local or global. A global identifier is declared outside of functions and is available throughout the program. A local identifier is declared within a specific function and only available within that function.[1] For implementations of programming languages that are using a compiler, identifiers are often only compile time entities. That is, at runtime the compiled program contains references to memory addresses and offsets rather than the textual identifier tokens (these memory addresses, or offsets, having been assigned by the compiler to each identifier). In languages that support reflection, such as interactive evaluation of source code (using an interpreter or an incremental compiler), identifiers are also runtime entities, sometimes even as first-class objects that can be freely manipulated and evaluated. In Lisp, these are called symbols. Compilers and interpreters do not usually assign any semantic meaning to an identifier based on the actual character sequence used. However, there are exceptions. For example: In Perl a variable is indicated using a prefix called a sigil, which specifies aspects of how the variable is interpreted in expressions. In Ruby a variable is automatically considered immutable if its identifier starts with a capital letter. In Fortran, the first letter in a variable's name indicates whether by default it is created as an integer or floating point variable. In Go, the capitalization of the first letter of a variable's name determines its visibility (uppercase for public, lowercase for private). In some languages such as Go, identifiers uniqueness is based on their spelling and their visibility.[2] In HTML an identifier is one of the possible attributes of an HTML element. It is unique within the document.


Ambiguity[edit] Identifiers (IDs) versus Unique identifiers (UIDs)[edit] Main article: Unique identifier Many resources may carry multiple identifiers. Typical examples are: One person with multiple names, nicknames, and forms of address (titles, salutations) For example: One specific person may be identified by all of the following identifiers: Jane Smith; Jane Elizabeth Meredith Smith; Jane E. M. Smith; Jane E. Smith; Janie Smith; Janie; Little Janie (as opposed to her mother or sister or cousin, Big Janie); Aunt Jane; Auntie Janie; Mom; Grandmom; Nana; Kelly's mother; Billy's grandmother; Ms. Smith; Dr. Smith; Jane E. Smith, PhD; and Fuzzy (her jocular nickname at work). One document with multiple versions[3] One substance with multiple names (for example, CAS index names versus IUPAC names;[4] INN generic drug names versus USAN generic drug names versus brand names) The inverse is also possible, where multiple resources are represented with the same identifier (discussed below). Implicit context and namespace conflicts[edit] See also: Naming collision Many codes and nomenclatural systems originate within a small namespace. Over the years, some of them bleed into larger namespaces (as people interact in ways they formerly hadn't, e.g., cross-border trade, scientific collaboration, military alliance, and general cultural interconnection or assimilation). When such dissemination happens, the limitations of the original naming convention, which had formerly been latent and moot, become painfully apparent, often necessitating retronymy, synonymity, translation/transcoding, and so on. Such limitations generally accompany the shift away from the original context to the broader one. Typically the system shows implicit context (context was formerly assumed, and narrow), lack of capacity (e.g., low number of possible IDs, reflecting the outmoded narrow context), lack of extensibility (no features defined and reserved against future needs), and lack of specificity and disambiguating capability (related to the context shift, where longstanding uniqueness encounters novel nonuniqueness). Within computer science, this problem is called naming collision. The story of the origination and expansion of the CODEN system provides a good case example in a recent-decades, technical-nomenclature context. The capitalization variations seen with specific designators reveals an instance of this problem occurring in natural languages, where the proper noun/common noun distinction (and its complications) must be dealt with. A universe in which every object had a UID would not need any namespaces, which is to say that it would constitute one gigantic namespace; but human minds could never keep track of, or semantically interrelate, so many UIDs.


Identifiers in various disciplines[edit] Main page: Category:Identifiers Identifier Scope atomic number, corresponding one-to-one with element name international (via ISV) Australian Business Number Australian CAGE code U.S. and NATO CAS registry number originated in U.S.; today international (via ISV) CODEN originated in U.S.; today international Digital object identifier (DOI, doi) Handle System Namespace, international scope DIN standard number originated in Germany; today international E number originated in E.U.; may be seen internationally EC number Employer Identification Number (EIN) U.S. Electronic Identifier Serial Publicaction (EISP) international Global Trade Item Number international Group identifier many scopes, e.g., specific computer systems International Chemical Identifier international International Standard Book Number (ISBN) ISBN is part of the EAN Namespace; international scope International eBook Identifier Number (IEIN) international International Standard Serial Number (ISSN) international ISO standard number, e.g., ISO 8601 international Library of Congress Control Number U.S., with some international bibliographic usefulness Personal identification number many scopes, e.g., banks, governments Personal identification number (Denmark) Denmark Pharmaceutical code Many different systems Product batch number Serial Item and Contribution Identifier U.S., with some international bibliographic usefulness Serial number many scopes, e.g., company-specific, government-specific Service batch number Social Security Number U.S. Tax file number Australian


See also[edit] Barcode Binomial nomenclature British Approved Name Data descriptor Data element Descriptor Diagnosis code Document management system File descriptor Food labeling regulations Gene nomenclature Handle (computing) Identification Identity (object-oriented programming) Identity document Index term Marketing part number Metadata Name binding Namespace Naming convention (programming) National identification number Nomenclature – contains various standardized naming systems Nomenclature code Chemical nomenclature International Code of Nomenclature for algae, fungi, and plants International Code of Nomenclature of Bacteria International Code of Nomenclature for Cultivated Plants International Code of Zoological Nomenclature Overloading Part number Personally identifiable information Product code Reference (computer science) Referent Representation term Systematized Nomenclature of Medicine Uniform resource identifier (URI) Unique identifier Unique key


References[edit] Look up identifier in Wiktionary, the free dictionary. Wikimedia Commons has media related to Identifiers. ^ Malik, D. (2014). C++ programming : from problem analysis to program design (7th edition. ed.). Cenage Learning. p. 397. ISBN 978-1-285-85274-4.  ^ "The Go Programming Language Specification - The Go Programming Language". Golang.org. 2013-05-08. Retrieved 2013-06-05.  ^ University of Glasgow. "Procedure for Applying Identifiers to Documents". Retrieved 28 April 2009.  ^ University of Pennsylvania. "Information on Chemical Nomenclature". Retrieved 28 April 2009.  Retrieved from "https://en.wikipedia.org/w/index.php?title=Identifier&oldid=815815074" Categories: IdentifiersProgramming language conceptsMetadataHidden categories: Articles needing additional references from November 2012All articles needing additional referencesPages using div col without cols and colwidth parametersPages using Columns-list with deprecated parameters


Navigation menu Personal tools Not logged inTalkContributionsCreate accountLog in Namespaces ArticleTalk Variants Views ReadEditView history More Search Navigation Main pageContentsFeatured contentCurrent eventsRandom articleDonate to WikipediaWikipedia store Interaction HelpAbout WikipediaCommunity portalRecent changesContact page Tools What links hereRelated changesUpload fileSpecial pagesPermanent linkPage informationWikidata itemCite this page Print/export Create a bookDownload as PDFPrintable version In other projects Wikimedia Commons Languages AzərbaycancaБеларускаяCatalàČeštinaDeutschEspañolFrançaisGalego한국어ItalianoҚазақшаКыргызчаNederlands日本語NorskPolskiPortuguêsQaraqalpaqshaРусскийСрпски / srpskiSuomiதமிழ்УкраїнськаاردوTiếng Việt中文 Edit links This page was last edited on 17 December 2017, at 09:35. Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization. Privacy policy About Wikipedia Disclaimers Contact Wikipedia Developers Cookie statement Mobile view (window.RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgPageParseReport":{"limitreport":{"cputime":"0.156","walltime":"0.228","ppvisitednodes":{"value":738,"limit":1000000},"ppgeneratednodes":{"value":0,"limit":1500000},"postexpandincludesize":{"value":20422,"limit":2097152},"templateargumentsize":{"value":7202,"limit":2097152},"expansiondepth":{"value":9,"limit":40},"expensivefunctioncount":{"value":1,"limit":500},"entityaccesscount":{"value":1,"limit":400},"timingprofile":["100.00% 188.874 1 -total"," 31.99% 60.425 1 Template:Reflist"," 27.13% 51.250 1 Template:Refimprove"," 20.98% 39.623 1 Template:Cite_book"," 16.83% 31.789 1 Template:Ambox"," 11.90% 22.477 1 Template:Main_article"," 11.82% 22.323 1 Template:Commons_category"," 6.55% 12.369 1 Template:Columns-list"," 6.30% 11.906 3 Template:Cite_web"," 5.75% 10.865 1 Template:Wiktionary"]},"scribunto":{"limitreport-timeusage":{"value":"0.060","limit":"10.000"},"limitreport-memusage":{"value":2973968,"limit":52428800}},"cachereport":{"origin":"mw1329","timestamp":"20180220184419","ttl":1900800,"transientcontent":false}}});});(window.RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgBackendResponseTime":100,"wgHostname":"mw1273"});});


Identifier - Photos and All Basic Informations

Identifier More Links

Wikipedia:VerifiabilityHelp:Introduction To Referencing With Wiki Markup/1Help:Maintenance Template RemovalEnlargeLouvreNameIdentity (philosophy)Instantiation PrincipleCodeUnique IdentifierPart NumberSerial NumberFord Model TDenotationSynonymConnotationCode NameNatural LanguageJamie ZawinskiNetscapeEmicEticMetadataIdentification SchemeRepresentation TermData ElementMetadataGerman Tank ProblemOpaque PointerUniversally Unique IdentifierComputer ScienceLexical (semiotics)Token (parser)EntityInformation Processing SystemComputer LanguageToken (parser)SymbolVariable (programming)Data TypeLabel (programming Language)SubroutineModular ProgrammingLexical GrammarAlphanumericInteger LiteralC (programming Language)C++UnicodeFree-form LanguageALGOL 68Stropping (syntax)Line ReconstructionScannerless ParsingKeyword (computer Programming)Reserved WordsForward CompatibilityPL/1CompilerCompile TimeRun Time (program Lifecycle Phase)Reflection (computer Programming)First-class ObjectLisp (programming Language)Symbol (Lisp)PerlSigil (computer Programming)Expression (programming)Ruby Programming LanguageImmutable ObjectFortranIntegerFloating PointGo (programming Language)HTMLHTML AttributeHTML ElementUnique IdentifierChemical Abstracts ServiceIUPACInternational Nonproprietary NameUnited States Adopted NameNaming CollisionCodeNomenclatureNamespaceRetronymSynonymTranscodingExtensibilityNaming CollisionCODENProper NounNatural LanguageCategory:IdentifiersAtomic NumberList Of Chemical Element Name EtymologiesInternational Scientific VocabularyAustralian Business NumberCommercial And Government EntityNATOCAS Registry NumberInternational Scientific VocabularyCODENDigital Object IdentifierHandle SystemNamespaceDeutsches Institut Für NormungE NumberEnzyme Commission NumberEmployer Identification NumberGlobal Trade Item NumberGroup IdentifierInternational Chemical IdentifierInternational Standard Book NumberInternational Article Number (EAN)NamespaceInternational Standard Serial NumberInternational Organization For StandardizationISO 8601Library Of Congress Control NumberPersonal Identification NumberPersonal Identification Number (Denmark)Pharmaceutical CodeSerial Item And Contribution IdentifierSerial NumberSocial Security NumberTax File NumberBarcodeBinomial NomenclatureBritish Approved NameData DescriptorData ElementDescriptor (disambiguation)Diagnosis CodeDocument Management SystemFile DescriptorFood Labeling RegulationsGene NomenclatureHandle (computing)Identification (disambiguation)Identity (object-oriented Programming)Identity DocumentIndex TermMarketing Part NumberMetadataName BindingNamespaceNaming Convention (programming)National Identification NumberNomenclatureNomenclature CodeChemical NomenclatureInternational Code Of Nomenclature For Algae, Fungi, And PlantsInternational Code Of Nomenclature Of BacteriaInternational Code Of Nomenclature For Cultivated PlantsInternational Code Of Zoological NomenclatureFunction OverloadingPart NumberPersonally Identifiable InformationProduct Code (disambiguation)Reference (computer Science)ReferentRepresentation TermSystematized Nomenclature Of MedicineUniform Resource IdentifierUnique IdentifierUnique KeyInternational Standard Book NumberSpecial:BookSources/978-1-285-85274-4University Of GlasgowUniversity Of PennsylvaniaHelp:CategoryCategory:IdentifiersCategory:Programming Language ConceptsCategory:MetadataCategory:Articles Needing Additional References From November 2012Category:All Articles Needing Additional ReferencesCategory:Pages Using Div Col Without Cols And Colwidth ParametersCategory:Pages Using Columns-list With Deprecated ParametersDiscussion About Edits From This IP Address [n]A List Of Edits Made From This IP Address [y]View The Content Page [c]Discussion About The Content Page [t]Edit This Page [e]Visit The Main Page [z]Guides To Browsing WikipediaFeatured Content – The Best Of WikipediaFind Background Information On Current EventsLoad A Random Article [x]Guidance On How To Use And Edit WikipediaFind Out About WikipediaAbout The Project, What You Can Do, Where To Find ThingsA List Of Recent Changes In The Wiki [r]List Of All English Wikipedia Pages Containing Links To This Page [j]Recent Changes In Pages Linked From This Page [k]Upload Files [u]A List Of All Special Pages [q]Wikipedia:AboutWikipedia:General Disclaimer



view link view link view link view link view link