What is it?
<Label> is a data type we've been developing since Logos 4.6. We've used it to tag semi-structured data in resources; this markup is then used to power the Outlines and Sermon Archives sections in PG, for example.
In Logos 6, we're exposing this data more broadly.
How does it work?
You can see it in the Information Panel:

You can add your own Labels with Notes/Highlights (by creating a new Highlighting style):

You can search for these labels:

A Label has a Class Name and multiple Properties. In my first screenshot, the Class Name is "Sermon"; in the Highlight style screenshot, it's "Activity". You can make the Class Name anything you want; we generally make it an English noun phrase, such as "Sermon", "Bible Outline", or "Journal Article".
A Property has a name and one or more values. Again, the name is any text you choose. The value of a property has a specific type (text, data type reference, number, boolean). If there are multiple values for a property (on a single Label), they must all be of the same type.
Logos-created Labels will be consistent in the type of value they use for a certain property (across all instances of that Label). For example, the "Date" property of a "Sermon" label will always have a <Date> reference. The "Title" property will always contain a string. Obviously we can't enforce any consistency in user-created labels.
Because <Label> is a complex data type, it doesn't lend itself to regular <...> data type syntax. (You could theoretically search for one specific Label reference if you specified all its properties with exact values. However, that doesn't seem very useful.)
So, instead we're introducing a special syntax (similar to SQL) that lets you find multiple labels that match a specific pattern. In super-geeky terms, this syntax is:
{Label (classname) [WHERE [NOT] (prop1) [= (value1)][AND [NOT] (prop2) [= (value2)] ...]]}
That might be a little hard to parse, so here's some examples that demonstrate most of the possibilities:
- {Label Sermon} -- all labels with specified class name
- {Label Sermon WHERE Series} -- labels that have the named property (with any value)
- {Label Sermon WHERE NOT Series} -- labels that don't have that named property
- {Label Sermon WHERE Series = The King and the Kingdom} -- exact string match
- {Label Sermon WHERE Series ~ Kingdom} -- partial string match
- {Label Sermon WHERE Date = <Date Jul 9, 1989>} -- exact reference match
- {Label Sermon WHERE Date ~ <Date Jul 1989>} -- intersect reference match
- {Label Sermon WHERE References = <Bible Eph 1:15-23>} -- exact reference match
- {Label Sermon WHERE References ~ <Bible Eph 1>} -- intersect reference match
- {Label Sermon WHERE Creator ~ Piper AND References ~ <Eph>} -- multiple properties
The following are the class names and properties of labels you may currently find in your Logos resources.
Bible Outline
- Reference -- reference; a Bible reference (of the passage being outlined)
Journal Article
- Title -- text; the title of the article
- Author -- text; the author(s) of the article
- Topics -- reference; the primary <Topic> reference(s) the article is about
- References -- reference; the primary Bible reference(s) the article is about
- Date -- reference; the <Date> reference when the journal was published
Lectionary Reading
- Title -- string; the title of the reading
- References -- reference; Bible references included in the reading
Sermon
- Title -- string; title of the sermon
- Subtitle -- string; optional
- Creator -- string; name of the creator
- References -- reference; optional; Bible references for the sermon as a whole (e.g., passage being preached on)
- Date -- reference; optional; Date reference when the sermon was first delivered
- Liturgical Date -- reference; optional; Liturgical Date reference when the sermon was first delivered (typically just one of Date or Liturgical Date will be present)
- Series -- string; optional; sermon series
How can I get it?
The Label tool & its corresponding search capability is included in all Logos 6 base packages and crossgrade products.