One of the design goals of IB was to facilitate implementation of the ISO 23950 (ANSI/NISO Z39.50) Information Retrieval Protocol services standard. Z39.50 makes it easier to use large information databases by standardizing the procedures and features for searching and retrieving information.
ISO 23950 has the concepts of record syntax and record elements.
Presentation Elements (Metadata)
Presentation is requested of a record by its element name and its preferred record syntax.
- The element names specifies whether the client wants full records ("f"), brief records ("b") one of of the available fields (or a combination thereof).
- The preferred record syntax specifies the format of retrieval. It can be USMARC, SUTRS, GRS-1 or some other format. The values which may be set for this option must be taken from an enumerated set which is specified by the binding.
| Element Name | Element | Description |
|---|
| Brief | B | Brief description of records (typ. Title or Headline) |
| Full | F | A "Non-brief" description, typically the full viewable record (not always the complete stored record). Views may depend upon user privileges and rights which different users getting different "full record" presenations. |
| Metadata | M | A metadata record describing the record |
| Location | L | Location (often URI) to access the record. |
The elements "B" and "F" are mandated by the ISO23950/Z39.50 standard. IB reserves the 1-letter element space for extensions and special derived record elements.
Ancestors and Descendants
In IB one can select the name ancestors (via name or path) for hits. One can also request a named descendant of such an ancestor.
Lets look a bit closer by example of XML fragments (from SGML/XML markup of Shakespeare's works by Jon Bosak):
<SPEECH>
<SPEAKER>LADY MACBETH</SPEAKER>
<LINE>Out, damned spot! out, I say!--One: two: why,</LINE>
<LINE>then, 'tis time to do't.--Hell is murky!--Fie, my</LINE>
<LINE>lord, fie! a soldier, and afeard? What need we</LINE>
<LINE>fear who knows it, when none can call our power to</LINE>
<LINE>account?--Yet who would have thought the old man</LINE>
<LINE>to have had so much blood in him.</LINE>
</SPEECH>
The words "out" and "spot" are in the same node (with path ...\SPEECH\LINE ). Its named SPEECH ancestor is the above speech--- the only speech in all of Shakespeare's works to have the words "out" and "spot" in the same LINE. The SPEAKER descendant of that SPEECH is "LADY MACBETH".
These elements are specified as
AncestorPath[/DescendantPath]
Examples:
- SPEECH (or PLAY\ACT\SCENE\SPEECH) would return the content (markup) of (all) the speeches that contain the hits
- SPEECH/SPEAKER (or PLAY\ACT\SCENE\SPEECH/SPEAKER or SPEECH/PLAY\ACT\SCENE\SPEECH\SPEAKER or ...) would return their speakers.
If, on the other hand, we wanted to know the different speakers in the act where Lady Macbeth said "
Out, damned spot! out, I say" we would request
SCENE/PLAY\ACT\SCENE\SPEECH/SPEAKER) (or SCENE/SPEAKER). This would yield of list including "Doctor" and "Gentlewoman" alongside the guilt ridden Lady.
Presentation Syntax
In IB we may distinguish between the format that a record was created or stored and the format requested from a search. IB Record Syntaxes| Record Syntax | Description | | RAW | Raw. As stored on the file system. The whole record is just read into the system as stored. |
| SUTRS | Simple unstructured text plain text. This might be--- but must not be--- the same as RAW but may be rendered. |
| HTML | Provide a Web version for view using a contemporary browser. This might not be in HTML markup but may contain the HTTP MIME header followed by the binary stream for some forms of context (such as PDF). |
| SGML | Provide a SGML version of a metadata record for the resource. |
| XML | An XML version of metadata. |
Highlighting and hit context
The IB engine provides a wide range of highlighting methods inclusive of support of Adobe's PDF Highlighting.Hit context exploits the document structure to text within its own container. The context for a hit for "Edward" in <name>Edward Zimmermann</name><address>Leopoldstrasse... contains, for example, the name Edward Zimmermann but not Leopolstrasse. Algorithms are provided to select both the context of individual "hits" with a record but also to calculate an "optimal" context based around a measure of hit distance metrics.