This library deals with a common problem in RDF applications: show labels for resources and display literals. There is no clear-cut answer to this problem because there are too many options. Think of e.g., language preferences, producing summaries, desired rdfs/owl/... reasoning. Therefore, this library provides the required APIs a default implementation and hooks that allow for dealing with the above mentioned issues.
- label_property(?Property) is nondet[multifile]
- True if Property is used to represent labels. The default
definition defines SKOS (prefLabel, altLabel, DC (title) and
rdfs:label. This predicate is defined as
- rdf_label(+R, -Label:literal) is nondet
- Label is a label for R. This predicate first calls the hook label_hook/2. If this hook fails it produces all property-values for the properties defined by label_property/1 that have a literal value.
- rdf_display_label(+R, -Text:text) is det
- Provide a label for R in the user's default language. This is
the same as
rdf_display_label(R, _, Label).
- rdf_display_label(+R, ?Lang, -Text:text) is det
- Label is the preferred label to display the resource R in the
language Lang. As a last resort, this predicates creates a label
from the URI R. In that case, Lang is unified with
- literal_text(++Object, -Text:text) is semidet
- Text is the textual content of Object. Fails if Object is not an
RDF literal (term
literal(Value)). If Object is an XMLLiteral, Text is unified with the XML-text.
- truncate_atom(+Atom, +MaxLen, -Truncated) is det
- If Atom is longer than MaxLen, truncate it. If MaxLen is
inf, Truncated is unified with Atom.