Home
Home
Englische Version
Support
Impressum
22.1 Release ►

    Main Navigation

    • Vorbereitung
      • Einrichten InSpire G7 Primärsystem und Standby Appliances
      • Initiale Inbetriebnahme für G7 Appliances
      • Konnektoren
    • Datenquellen
      • Anleitung zur Datenintegration mithilfe eines SQL Datenbank-Beispiels
      • Handbuch - Mindbreeze InSpire Insight Apps in Salesforce
      • Indizierung benutzerspezifischer Eigenschaften (SharePoint 2013 Connector)
      • Indizierung benutzerspezifischer Objekttypen (Documentum)
      • Installation & Konfiguration - Atlassian Confluence Sitemap Generator Add-On
      • Installation & Konfiguration - Caching Principal Resolution Service
      • Installation & Konfiguration - Jive Sitemap Generator
      • Installation & Konfiguration - Mindbreeze InSpire Insight Apps in Microsoft SharePoint On-Prem
      • Konfiguration - Atlassian Confluence Connector
      • Konfiguration - Best Bets Connector
      • Konfiguration - COYO Connector
      • Konfiguration - Data Integration Connector
      • Konfiguration - Documentum Connector
      • Konfiguration - Dropbox Connector
      • Konfiguration - Egnyte Connector
      • Konfiguration - GitHub Connector
      • Konfiguration - Google Drive Connector
      • Konfiguration - GSA Adapter Service
      • Konfiguration - HL7 Connector
      • Konfiguration - IBM Connections Connector
      • Konfiguration - IBM Lotus Connector
      • Konfiguration - Jira Connector
      • Konfiguration - JiveSoftware Jive Connector
      • Konfiguration - JVM Launcher Service
      • Konfiguration - LDAP Connector
      • Konfiguration - Microsoft Azure Principal Resolution Service
      • Konfiguration - Microsoft Dynamics CRM Connector
      • Konfiguration - Microsoft Exchange Connector
      • Konfiguration - Microsoft File Connector (Legacy)
      • Konfiguration - Microsoft File Connector
      • Konfiguration - Microsoft Graph Connector
      • Konfiguration - Microsoft Project Connector
      • Konfiguration - Microsoft SharePoint Connector
      • Konfiguration - Microsoft Stream Connector
      • Konfiguration - Microsoft Teams Connector
      • Konfiguration - Salesforce Connector
      • Konfiguration - SAP KMC Connector
      • Konfiguration - SemanticWeb Connector
      • Konfiguration - ServiceNow Connector
      • Konfiguration - SharePoint Online Connector
      • Konfiguration - Sitecore Connector
      • Konfiguration - Web Connector
      • Konfiguration - Yammer Connector
      • Mindbreeze InSpire Insight Apps in Microsoft SharePoint Online
      • Mindbreeze Web Parts in Microsoft SharePoint
    • Konfiguration
      • CAS Authentifizierung
      • Cognito JWT Authentifizierung
      • Cookie Authentifizierung
      • Handbuch - SSO mit Microsoft AAD oder AD FS
      • Handbuch - Text Classification Insight Services
      • I18n Item Transformation
      • Konfiguration - Alternative Suchvorschläge und automatische Sucherweiterung
      • Konfiguration - Backend Credentials
      • Konfiguration - Benachrichtigungen
      • Konfiguration - CJK Tokenizer Plugin
      • Konfiguration - CSV Metadata Mapping Item Transformation Service
      • Konfiguration - Entity Recognition
      • Konfiguration - Export Funktionalität
      • Konfiguration - Filter Plugins
      • Konfiguration - Gesammelte Ergebnisse
      • Konfiguration - GSA Late Binding Authorization
      • Konfiguration - Identity Conversion Service - Replacement Conversion
      • Konfiguration - Index-Servlets
      • Konfiguration - Item Property Generator
      • Konfiguration - Kerberos Authentfizierung
      • Konfiguration - Management Center Menü
      • Konfiguration - Metadata Reference Builder Plugin
      • Konfiguration - Metadaten Anreicherung
      • Konfiguration - Mindbreeze InSpire
      • Konfiguration - Mindbreeze Proxy Umgebung (Remote Connector)
      • Konfiguration - Outlook Add-In
      • Konfiguration - Personalisierte Relevanz
      • Konfiguration - Plugin Installation
      • Konfiguration - Principal Validation Plugin
      • Konfiguration - Profile
      • Konfiguration - QueryExpr Label Transformer Service
      • Konfiguration - Reporting Query Log
      • Konfiguration - Reporting Query Performance Tests
      • Konfiguration - Request Header Session Authentisierung
      • Konfiguration - Verteilte Konfiguration (Windows)
      • Konfiguration - Vokabulare für Synonyme und Autovervollständigung
      • Konfiguration von Vorschaubildern
      • Mindbreeze Personalization
      • Mindbreeze Property Expression Language
      • Mindbreeze Query Expression Transformation
      • Non-Inverted Metadata Item Transformer
      • SAML Authentifizierung
      • Spracherkennung mit dem LanguageDetector Plugin
      • Trusted Peer Authentication für Mindbreeze InSpire
      • Verwendung von InSpire-Snapshots in einer CI_CD-Umgebung
    • Betrieb
      • app.telemetry Statistiken zu Suchanfragen
      • Bereitstellen von app.telemetry Informationen mittels SNMPv3 auf G7 Appliances
      • Handbuch - Filemanager
      • Handbuch - Indizierungs- und Suchlogs
      • Handbuch - Kommandozeilenwerkzeuge
      • Handbuch - Sichern & Wiederherstellen
      • Handbuch - Updates und Downgrades
      • Handbuch - Verteilter Betrieb (G7)
      • Index Betriebskonzepte
      • Inspire Diagnose und Ressourcen Monitoring
      • Konfiguration - app.telemetry Dashboards für Nutzungsanalyse
      • Konfiguration - Nutzungsanalyse
      • Löschung der Festplatten
      • Mindbreeze InSpire SFX Update
      • Wiederherstellen des Lieferzustandes
    • Anwenderhandbuch
      • Cheat Sheet
      • iOS App
      • Tastaturbedienung
    • SDK
      • api.v2.alertstrigger Schnittstellenbeschreibung
      • api.v2.export Schnittstellenbeschreibung
      • api.v2.personalization Schnittstellenbeschreibung
      • api.v2.search Schnittstellenbeschreibung
      • api.v2.suggest Schnittstellenbeschreibung
      • api.v3.admin.SnapshotService Schnittstellenbeschreibung
      • Einbetten des Insight App Designers
      • Entwicklung eines API V2 Search Request Response Transformer
      • Entwicklung von Insight Apps
      • Java API Schnittstellenbeschreibung
      • SDK Übersicht
    • Release Notes
      • Release Notes 20.1 Release - Mindbreeze InSpire
      • Release Notes 20.2 Release - Mindbreeze InSpire
      • Release Notes 20.3 Release - Mindbreeze InSpire
      • Release Notes 20.4 Release - Mindbreeze InSpire
      • Release Notes 20.5 Release - Mindbreeze InSpire
      • Release Notes 21.1 Release - Mindbreeze InSpire
      • Release Notes 21.2 Release - Mindbreeze InSpire
      • Release Notes 21.3 Release - Mindbreeze InSpire
      • Release Notes 22.1 Release - Mindbreeze InSpire
    • Sicherheit
      • Bekannte Schwachstellen
    • Produktinformation
      • Produktinformation - Mindbreeze InSpire - Standby
      • Produktinformation - Mindbreeze InSpire
    Home

    Path

    Sure, you can handle it. But should you?
    Let our experts manage the tech maintenance while you focus on your business.
    See Consulting Packages

    Mindbreeze Property Expression Language

    Copyright ©

    Mindbreeze GmbH, A-4020 Linz, 2022.

    Alle Rechte vorbehalten. Alle verwendeten Hard- und Softwarenamen sind Handelsnamen und/oder Marken der jeweiligen Hersteller.

    Diese Unterlagen sind streng vertraulich. Durch die Übermittlung und Präsentation dieser Unterlagen alleine werden keine Rechte an unserer Software, an unseren Dienstleistungen und Dienstleistungsresultaten oder sonstigen geschützten Rechten begründet. Die Weitergabe, Veröffentlichung oder Vervielfältigung ist nicht gestattet.

    Aus Gründen der einfacheren Lesbarkeit wird auf die geschlechtsspezifische Differenzierung, z.B. Benutzer/-innen, verzichtet. Entsprechende Begriffe gelten im Sinne der Gleichbehandlung grundsätzlich für beide Geschlechter.

    EinleitungPermanenter Link zu dieser Überschrift

    Die Property Expression Language kann verwendet werden, um Metadaten zu extrahieren, oder Filterwerte zu erzeugen, auf die dann bei der Suche eingeschränkt werden kann.

    SprachelementePermanenter Link zu dieser Überschrift

    LiteralePermanenter Link zu dieser Überschrift

    Konstante literale Werte wie Zahlen oder Zeichenketten können angegeben werden.

    Beispiel:

    Zeichenkette (String)

    "text"

    Ganzzahl (Integer)

    3

    Boolscher Typ (boolean)

    true

    IdentifiersPermanenter Link zu dieser Überschrift

    Ein Identifier bezieht sich immer auf den aktuellen Kontext.
    Dieser Kontext kann ein Dokument sein, aber auch ein Item.

    Wird eine Referenz nachverfolgt, so ist dies ein Verweis auf das referenzierte Dokument.

    Beispiel:

    Reguläres Metadatum eines Dokuments

    title

    Referenz-Metadatum eines Dokuments

    referenz

    Eigenschaft innerhalb eines Items

    itemProperty

    Zu beachten ist, dass folgende Character-Class ohne Escaping gültig ist: [A-Za-z0-9_:\-]

    Folgende Zeichen in einem Identifier müssen also nicht escaped werden:

    • Großbuchstaben (A-Z)
    • Kleinbuchstaben (a-z)
    • Folgende Sonderzeichen: „_“, „:“, „-“

    Alle anderen Zeichen müssen mit einem Backslash (\) escaped werden, damit die Zeichenkette als Identifier erkannt wird. Z. B. muss property.value folgendermaßen escaped werden: property\.value

    ListenPermanenter Link zu dieser Überschrift

    Eine Liste mehrerer Ausdrücke, die alle emittiert werden.

    Beispiel:

    Zeichenkette (String)

    list("text1", "text2", "text3")

    Entfernen von DuplikatenPermanenter Link zu dieser Überschrift

    Der ‚unique‘-Operator entfernt Duplikate aus seinen Parametern, wobei die Reihenfolge beibehalten wird. Er kann auf alle Expressions angewendet werden die eine String-Repräsentation besitzen.

    Beispiele:

    Ausdruck

    Emittiert wird …

    unique("a", "b", "c", "b")

    "a", "b", "c"

    unique("a", "a", "a")

    "a"

    PfadePermanenter Link zu dieser Überschrift

    Soll auf Metadaten des referenzierten Dokuments zugriffen werden, kann der Pfad-Operator / verwendet werden.

    Beispiel:

    Variante 1

    referenz/title

    Falls das aktuelle Dokument eine Referenzeigenschaft “referenz” hat, wird der Titel des referenzierten Dokumentes emittiert

    Variante 2

    referenz1/referenz2/title

    Falls das aktuelle Dokument eine Referenzeigenschaft “referenz1” hat, und das referenzierte Dokument wiederum eine Referenzeigenschaft “referenz2” hat das auf ein weiteres Dokument verweist, wird dessen Titel emittiert

    Inverse ReferenzenPermanenter Link zu dieser Überschrift

    Um inversen Referenzen zu folgen kann der rev-Operator verwendet werden. Dazu ist es nötig in den “Reference Settings” des Index die Referenzeigenschaft als “Inverted Reference Metatdata Keys” zu konfigurieren.

    Beispiel:

    rev(parent)/mes:key

    Es werden alle „mes:key“ Werte der invertieren Referenz „parent“ emittiert.

    Transitive ClosurePermanenter Link zu dieser Überschrift

    Der dfs-Operation kann verwendet werden, um alle Items zu emittieren die mittels eines Ausdrucks mittels Tiefensuche (depth first search, DFS) beschritten werden. dfs kann mit zwei oder drei Argumenten verwendet werden.

    Beispiele:

    dfs(.,parent)/mes:key

    Emittiert alle mes:key Werte die ausgehend vom aktuellen Kontext mit dem Ausdruck parent erreicht werden können.

    dfs(.,rev(parent))/mes:key

    Emittiert alle mes:key Werte die ausgehend vom aktuellen Kontext mit dem Ausdruck rev(parent) erreicht werden können.

    dfs(.,parent,"terminal")/mes:key

    Emittiert den mes:key Wert des letzten  (terminal) Items das vom aktuellen Kontext mit dem Ausdruck parent erreichbar ist. Wenn der Graph Baumförmig ist, wird der mes:key Wert der Wurzel emittiert.

    dfs(.,rev(parent),"terminal")/mes:key

    Emittiert den mes:key Wert des letzten  (terminal) Items das vom aktuellen Kontext mit dem Ausdruck rev(parent) erreichbar ist. Wenn der Graph Baumförmig ist, werden alle mes:key Werte der Blätter emittiert die vom akuellen Kontext aus erreichbar sind.

    FilterPermanenter Link zu dieser Überschrift

    Mit dem Filter-Operator kann eine zusätzliche Einschränkung definiert werden, die für selektierte Ausdrücke (i. d. R. für Items) gelten muss.

    Beispiel:

    Variante 1

    title[../mes:numericdate < 1444381468000]

    Der Titel des aktuellen Dokuments wird nur dann emittiert, falls dessen Datum vor 2015-10-09T09:04:28.000Z liegt (als Millisekunden seit 1970)

    VergleichsoperatorenPermanenter Link zu dieser Überschrift

    Folgende Vergleichsoperatoren können verwendet werden:

    entweder in Kombination mit den logischen Verknüpfungen

    oder innerhalb eines Filters

    Beispiele in Kombination mit logischen Verknüpfungen:

    Ausdruck

    Emittiert wird …

    Gleichheit

    3 = 3 && "true" || "false"

    "true"

    Ungleichheit

    3 != 3 && "true" || "false"

    "false"

    Kleiner

    3 < 3 && "true" || "false"

    "false"

    Kleiner oder gleich

    3 <= 3 && "true" || "false"

    "true"

    Größer

    3 > 3 && "true" || "false"

    "false"

    Größer oder gleich

    3 >= 3 && "true" || "false"

    "true"

    Beispiele in Kombination mit Filter:

    Ausdruck

    Emittiert wird …

    Gleichheit

    title[3 = 3]

    Titel des aktuellen Dokuments

    Ungleichheit

    title[3 != 3]

    nichts

    Kleiner

    title[3 < 3]

    nichts

    Kleiner oder gleich

    title[3 <= 3]

    Titel des aktuellen Dokuments

    Größer

    title[3 > 3]

    nichts

    Größer oder gleich

    title[3 >= 3]

    Titel des aktuellen Dokuments

    Logische VerknüpfungenPermanenter Link zu dieser Überschrift

    Und-Verknüpfung &&Permanenter Link zu dieser Überschrift

    Bei der Und-Verknüpfung wird nur das letzte Element in der &&-Kette genau dann emittiert, falls alle Elemente davor etwas emittiert hätten und ihr Wert nicht als false interpretiert wird.

    Beispiel:

    Ausdruck

    Emittiert wird …

    Literale 1

    "text" && "text2" && "text3"

    "text3"

    Boolsche Ausdrücke

    0 && "text2"

    nichts

    1=1 && "true" || "false"

    "true"

    1!=1 && "true" || "false"

    "false"

    Oder-Verknüpfung ||Permanenter Link zu dieser Überschrift

    Bei der Oder-Verknüpfung wird das erste Element in der ||-Kette genau dann emittiert, welches etwas emittiert.

    Beispiel:

    Ausdruck

    Emittiert wird …

    Literale 1

    "text1" || "text2" || "text3"

    "text1"

    Boolsche Ausdrücke

    0 || "text2"

    "text2"

    0=0 && "true" || "text2"

    "true"

    Arithmetische VerknüpfungenPermanenter Link zu dieser Überschrift

    Folgende arithmetische Operatoren können verwendet werden:

    Ausdruck

    Emittiert wird …

    Addition

    +(3, 2)

    5

    Subtraktion

    -(3, 2)

    1

    Multiplikation

    *(3, 2)

    6

    Division

    div(3, 2)

    1

    Modulo

    mod(3, 2)

    1

    Anmerkung: Bitte beachten Sie, dass arithmetische Operatoren aktuell nur mit ganzzahligen Werten oder Metadaten verwendet werden können. Gleitkommazahlen werden nicht unterstützt.

    Parent-KontextPermanenter Link zu dieser Überschrift

    Mit dem Parent-Operator .. kann auf den übergeordneten Kontext zugegriffen werden.

    Dieser Operator ist besonders im Kombination mit dem Filter-Operator nützlich, siehe Kapitel .

    Beispiel:

    Variante 1

    referenz/title/..

    Entspricht referenz

    Variante 2

    referenz/title/../..

    Entspricht dem evaluierten Dokument selbst

    NamePermanenter Link zu dieser Überschrift

    Mit der Funktion name kann von einem Value-Kontext auf den Namen des Metadatums oder der Item-Eigenschaft zurückgeschlossen werden.

    Beispiel:

    Variante 1

    name(regex_match(title, "^T.*$"))

    title wird emittiert, falls der Titel des aktuellen Dokuments dem regulären Ausdruck entspricht

    ZeichenkettenPermanenter Link zu dieser Überschrift

    Regex-MatchPermanenter Link zu dieser Überschrift

    Mit der Funktion regex_match kann auf jene Zeichenketten eingeschränkt werden, die einem regulären Ausdruck entsprechen.

    Beispiel:

    Variante 1

    regex_match(title, "^T.*$")

    Titel, die mit “T” beginnen, werden emittiert (implizit Case sensitive)

    Variante 2

    regex_match(title, "^T.*$", "i")

    Titel, die mit “T” beginnen, werden emittiert (explizit Case insensitive)

    Konvertierungen nach Großschreibung / KleinschreibungPermanenter Link zu dieser Überschrift

    Mit den Funktionen to_lower und to_upper können Expressions auf Groß- oder Kleinschreibung konvertiert werden.

    Beispiel:

    Variante 1

    to_lower("UPPER")

    "upper" wird emittiert

    to_upper("lower")

    "LOWER" wird emittiert

    Zeichenketten zusammenhängen (concat)Permanenter Link zu dieser Überschrift

    Mit der Funktion concat können mehrere Werte von Metadaten zusammengehängt werden.

    Beispiel:

    concat("Hauptplatz", " ", "123")

    "Hauptplatz 123" wird emittiert

    Zeichen ersetzenPermanenter Link zu dieser Überschrift

    Mit der Funktion replace können Zeichen(ketten) ersetzt werden, dabei können auch reguläre Ausdrücke verwendet werden.

    Beispiel:

    Buchstaben entfernen

    replace("12ab34cd56", "[a-z]", "")

    "123456" wird emittiert

    replace("0123456789","[0-9]{9}$","")

    "0" wird emittiert

    TypumwandlungenPermanenter Link zu dieser Überschrift

    Konvertierung zu IntegerPermanenter Link zu dieser Überschrift

    Mit der Funktion int kann auf eine Zeichenkette oder ein Datumswert auf eine Ganzzahl konvertiert werden.

    Beispiel:

    Ausdruck

    Emittiert wird …

    Variante 1

    int("3")

    Zahl 3

    Variante 2

    int(dateproperty)

    Datumswert der Eigenschaft "dateproperty" als Millisekunden seit 1970

    Variante 3

    int(now())

    Aktueller Zeitpunkt als als Millisekunden seit 1970

    Aufteilen von ZeichenkettenPermanenter Link zu dieser Überschrift

    Mit der Funktion split(<string-expr>, <pattern>) kann ein String in mehrere Werte zerlegt werden.

    Beispiel:

    Ausdruck

    Emittiert wird …

    split("a,b und c", " *(und|,) *")

    Liste: a,b,c

    Mit der Funktion split(<string-expr>, <pattern>) kann ein String in eine hierachische Liste von Weren zerlegt werden. Diese Liste kann unter anderem als hierachische Facette angezeigt werden.

    Beispiel:

    Ausdruck

    Emittiert wird …

    split_path(“/path/to/documents”, “/”)

    Hierachische Liste: path, to, documents

    Parsen von JSON-AudrückenPermanenter Link zu dieser Überschrift

    Mit der Funktion json_parse(<json>) kann ein JSON-Ausdruck analysieren und strukturiert dargestellt werden.

    Beispiel:

    Ausdruck

    Emittiert wird …

    json_parse("\"a\"")

    a

    json_parse("[\"a\", \"b\"]")

    Liste: a,b

    json_parse("{\"int\": 1, \"str\": \"a\"}"

    der analysierte JSON-Ausdruck hierarchisch als Item dargestellt

    Parsen von DatumwertenPermanenter Link zu dieser Überschrift

    Mit der Funktion parse_date können Zeichenketten als Datumswert interpretiert werden.

    Parameter sind:

    Zeichenketten Wert, der geparsed werden soll

    Datumsformatierung Parameter, siehe http://userguide.icu-project.org/formatparse/datetime#TOC-Date-Time-Format-Syntax

    (Optional) Locale, siehe http://userguide.icu-project.org/locale#TOC-Examples

    Beispiel:

    Ausdruck

    Emittiert wird …

    Variante 1

    parse_date("1970-01-01 00:00:00 UTC", "yyyy-MM-dd HH:mm:ss zzz")

    Entsprechender Datumswert

    Variante 2

    parse_date("October 2015", "MMMM y", "en")

    Entsprechender Datumswert

    Now (aktueller Zeitpunkt)Permanenter Link zu dieser Überschrift

    Die Funktion now kann verwendet werden, um auf den aktuellen Zeitpunkt Bezug zu nehmen. Der Wert ist gegeben in Millisekunden seit 1. Jänner 1970, was bei arithmetischen Ausdrücken wichtig ist.

    Beispiel:

    Ausdruck

    Emittiert wird …

    Variante 1

    now()

    aktueller Zeitpunkt

    Variante 2

    -(now(), 3600000)

    Zeitpunkt vor einer Stunde

    Variante 3

    mes:date[../mes:date < now()]

    Datumswerte von Dokumenten, die in der Vergangenheit liegen

    Variante 4

    -(now(), dateproperty) > 3600000 && "true" || "false"

    "true"

    Gegeben, dass der Datumswert der Eigenschaft "dateproperty" älter als eine Stunde ist

    PDF herunterladen

    • Mindbreeze Property Expression Language

    Inhalt

    • Einleitung
    • Sprachelemente

    PDF herunterladen

    • Mindbreeze Property Expression Language