Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Z39.50
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Application layer communications protocol}} {{More citations needed|date=November 2021}} '''Z39.50''' is an [[international standard]] [[client–server]], [[application layer]] [[communications protocol]] for searching and retrieving information from a [[database]] over a [[TCP/IP]] [[computer network]], developed and maintained by the [[Library of Congress]]. It is covered by [[American National Standards Institute|ANSI]]/[[NISO]] standard Z39.50, and [[International Organization for Standardization|ISO]] standard 23950. Z39.50 is widely used{{as of?|date=May 2018}} in [[library]] environments, for [[Interlibrary loan|interlibrary catalogue search and loan]], often incorporated into [[integrated library system]]s and personal [[Reference management software|bibliographic reference software]], and social media such as [[LibraryThing]]. Work on the Z39.50 protocol began in the 1970s, and led to successive versions in 1988, 1992, 1995 and 2003. The [[Contextual Query Language]] (formerly called the Common Query Language)<ref>[https://www.loc.gov/standards/sru/specs/cql.html CQL: the Contextual Query Language: Specifications] SRU: Search/Retrieval via URL, Standards, Library of Congress</ref> is based on Z39.50 semantics. == Search syntax == The protocol supports search, retrieval, sort, and browse. Search queries contain attributes, typically from the bib-1 attribute set which defines six attributes to specify information searches on the server computer: use, relation, position, structure, truncation, completeness. The syntax of Z39.50 allows for very complex queries. In practice, the functional complexity is limited by the uneven implementations by developers and commercial vendors. The syntax of Z39.50 is abstracted from the underlying database structure. For example, if the client specifies an author search using attribute 1003, the server must determine how to map that search to the indexes it contains. This allows Z39.50 queries to be formulated without knowing anything about the target database, but it also means that results for the same query can vary widely among different servers. One server may have an author index and another may use its index of personal names, whether they are authors or not. A third may have no name index and fall back on its keyword index, and yet another may have no suitable index and return an error. An attempt to remedy the inconsistency is the [[Bath Profile]] (named after [[Bath, Somerset|Bath]], England, where the [[working group]] first met in 1999). This document rigidly specifies the search syntax to employ for common bibliographic searches, and the expected response of Bath-compliant servers. Implementation of the Bath Profile has been slow but is gradually improving the Z39.50 landscape{{as of?|date=May 2018}}. The Bath Profile is maintained by [[Library and Archives Canada]]. == Modernization efforts == Z39.50 is a pre-[[World Wide Web|Web]] technology, and various working groups are attempting to update it to fit better into the modern environment. These attempts fall under the designation ZING (Z39.50 International: Next Generation), and pursue various strategies. The successors to Z39.50 are the twin protocols [[Search/Retrieve via URL|SRU]]/[[Search/Retrieve Web Service|SRW]] (''Search/Retrieve via URL''/''Search/Retrieve Web service''), which drop the Z39.50 communications protocol (replacing it with [[HTTP]]) while still attempting to preserve the benefits of the query syntax. SRU is [[Representational State Transfer|REST]]-based, and enables queries to be expressed in [[Uniform Resource Locator|URL]] query strings; SRW uses [[SOAP (protocol)|SOAP]]. Both expect search results to be returned as [[XML]]. These projects have a much lower barrier to entry for developers than the original Z39.50 protocol,<ref>{{Cite web|url=http://www.dlib.org/dlib/april97/04lynch.html|title=The Z39.50 Information Retrieval Standard: Part I: A Strategic View of Its Past, Present and Future|website=www.dlib.org|access-date=2020-01-22}}</ref> allowing the relatively small market for library software to benefit from the [[web service]] tools developed for much larger markets. Alternatives include the following.<ref>{{cite web|title=Linked Data in Libraries Metadata Retrieval and Harvesting|url=https://pantherfile.uwm.edu/kipp/public/courses/791/791assign-metadataretrieval.html}}</ref> * Open Archives Initiative [[Protocol for Metadata Harvesting]] (OAI-PMH) * [[SPARQL]] == Firewall information == The registered [[Port (computer networking)|network port number]] for Z39.50 is 210. Although the majority of servers use this port, there are dozens of other port numbers used worldwide by Z39.50 (e.g. 2100, 2200, 2210, 2213, 3520, or in one case, ports 2101 and higher for different databases).<ref>{{cite web|title=Library of Congress Z39.50 Firewall Information|website=[[Library of Congress]] |url=https://www.loc.gov/z3950/agency/wisdom/firewall.html}}</ref><ref>{{cite web|title=IANA Port and Protocol Registry|url=https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml}}</ref> == See also == * [[Wide area information server]] (WAIS) * [[Dynix (software)|Dynix]] * [[Koha (software)|Koha]] * [[OpenURL]] * [[OpenSearch (specification)|OpenSearch]] ==References== {{reflist}} == External links == *[https://www.loc.gov/z3950/agency/ Z39.50 Maintenance Agency] *[https://www.loc.gov/z3950/agency/Z39-50-2003.pdf Z39.50 Standard Document (pdf)] {{Internet search}} {{Authority control}} [[Category:Application layer protocols]] [[Category:Library automation]] [[Category:Library of Congress]] [[Category:Domain-specific knowledge representation languages]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:As of?
(
edit
)
Template:Authority control
(
edit
)
Template:Cite web
(
edit
)
Template:Internet search
(
edit
)
Template:More citations needed
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)