diff --git a/docs/reference/KNOW-befunde.md b/docs/reference/KNOW-befunde.md new file mode 100644 index 0000000..73254d6 --- /dev/null +++ b/docs/reference/KNOW-befunde.md @@ -0,0 +1,99 @@ +# KNOW: Befunde aus der Analyse vom 13.10.2026 + +Grundlage sind die Workflow-Definitionen auf n8n.mindboost.app, nur lesend über die n8n-API abgerufen. Ausgewertet wurde der Code von KNOW, KGW und allen aufrufenden Workflows. Inhalte der Datenbank wurden nicht gelesen. Für `CANCEL - Unsubscribe Link` und `KAN-Learn - Kanbau Pattern Learning` liefert die API keine gespeicherten Ausführungen, ein Nachweis aus der Laufzeit fehlt deshalb. + +- Übersicht der Tabellen: [KNOW-schema.md](KNOW-schema.md) +- Interaktive Ansichten (privat): + - Datenfluss: https://claude.ai/artifact/GP8FfU8M6Wk9hPRmJuk96h + - Ontologie: https://claude.ai/artifact/R7zxBJsCKkkCWdCcztLFUT (OWL/Turtle: [know-ontology.ttl](know-ontology.ttl)) + +Status aller Befunde: **offen**. In n8n wurde nichts geändert. + +| # | Befund | Schwere | +|---|---|---| +| B1 | CANCEL protokolliert über eine Operation, die es nicht gibt | mittel | +| B2 | KAN-Learn speichert über eine Operation, die es nicht gibt | mittel | +| B3 | IN-Sync ruft zwei nicht vorhandene Operationen auf (inaktiv) | niedrig | +| B4 | CAT schreibt per eigenem SQL an KNOW vorbei | niedrig | +| B5 | 12 Tabellen ohne aktiven Schreibweg, mit drei Ursachen | hoch (Datenbasis unklar) | +| B6 | KAF-Bestätigung führt bei jedem Aufruf DDL aus und setzt einen festen Bestätiger | mittel | +| B7 | Anhang-Extraktionen kommen nur von außen | niedrig | +| B8 | KGW erlaubt externen Aufrufern eine Lösch-Operation | niedrig | +| B9 | Keine Löschfristen für Klartext-Felder | mittel (Datenschutz) | + +## B1 – CANCEL protokolliert ins Leere +- **Beleg:** `CANCEL - Unsubscribe Link` (aktiv) ruft in 4 Knoten (`KNOW: Log Erfolg`, `… Fehler`, `… Duplikat-Erfolg`, `… Dry Run`) `log_workflow_decision` auf. Diese Operation steht nicht in der Liste von KNOW, KNOW wirft `Nicht erlaubte KNOW operation`. Alle 4 Knoten haben „Continue on Fail“. +- **Folge:** Der Workflow läuft durch, aber kein Abmeldevorgang wird protokolliert, und niemand merkt es. +- **Vorschlag:** auf die vorhandene Operation `record_workflow_decision` umstellen. Sie schreibt in `workflow_decisions`, das heute leer bleibt (B5b). Vorher die Felder des Payloads abgleichen. + +## B2 – KAN-Learn speichert nicht +- **Beleg:** `KAN-Learn - Kanbau Pattern Learning` (aktiv) ruft im Knoten `KNOW: Save Patterns` `upsert_kanbau_project_patterns` auf. Die Operation gibt es in KNOW nicht, der Knoten hat keine Fehlerbehandlung. +- **Folge:** Jede Ausführung bricht an dieser Stelle ab. KAN-Learn wird von `KAN - Kanbau API Gateway` aufgerufen. +- **Vorschlag:** In der Ausführungsliste von n8n prüfen, ob und wie oft der Workflow läuft. Dann entweder die Operation in KNOW ergänzen (Zieltabelle festlegen) oder den Aufruf entfernen. + +## B3 – IN-Sync ruft Operationen auf, die fehlen +- **Beleg:** `IN - Sicherheitsregeln Source Sync` (inaktiv) ruft `upsert_input_validation_rule` und `upsert_input_validation_source_snapshot` auf. Beide fehlen in KNOW, ebenso eine passende Tabelle. +- **Vorschlag:** vor einer Aktivierung in KNOW ergänzen. + +## B4 – CAT schreibt direkt in `workflow_hints` +- **Beleg:** Ein Postgres-Knoten in `CAT - Postfach Pipeline` führt `UPDATE knowledge.workflow_hints SET notified_at = now(), pending_notification = false WHERE hint_key = '{{ $json.hint_key }}'` aus. +- **Folge:** + - KNOW ist nicht mehr der einzige Schreibweg. + - Der Wert wird ohne Escaping direkt in das SQL eingesetzt. Ein Hochkomma in `hint_key` bricht die Abfrage. +- **Vorschlag:** eine KNOW-Operation dafür anlegen, z. B. `mark_hint_notified`. + +## B5 – Tabellen ohne aktiven Schreibweg +Kein aktiver Workflow schreibt diese 12 Tabellen über KNOW. Die Ursachen sind verschieden: + +**a) KNOW hat gar keine Schreib-Operation.** Gefüllt werden können diese Tabellen nur mit direktem Zugang zur Datenbank: +| Tabelle | Wer liest | Bemerkung | +|---|---|---| +| `projects` | `NEX - Teams Chat Agent`, extern über KGW (`find_project_candidates`, `get_sender_profile`) | Ist die Tabelle leer, findet die Projektsuche nur Treffer über `project_aliases`. **Zuerst prüfen**: `SELECT count(*), max(last_synced_at) FROM knowledge.projects;` | +| `contact_aliases` | extern über KGW (`find_contact_candidates`) | | +| `contact_project_relations` | niemand | | +| `agent_capabilities`, `agent_context_documents`, `agent_execution_log` | niemand | vermutlich Altlast oder außerhalb von n8n genutzt | + +**b) Die Operation gibt es, aber kein Workflow ruft sie auf:** +| Tabelle | vorhandene Operationen | Wer liest | +|---|---|---| +| `property_development_cases` | `upsert_property_development_case`, `sync_property_development_folder_snapshot`, `store_kaf_confirmation_snapshot`, `claim_/complete_kaf_confirmation_create` | extern über KGW (6 Abfragen für Fristen, Angebote, fehlende Unterlagen) | +| `property_development_documents` | `upsert_property_development_document` | extern über KGW (`summarize_property_development_case`) | +| `project_folders` | `upsert_project_folder` | niemand | +| `place_enrichments` | `upsert_place_enrichment` | niemand (`MAP - Maps/Geo Gateway` nutzt KNOW nicht) | +| `workflow_decisions` | `record_workflow_decision` | niemand (siehe B1) | + +Die Abfragen zu Ankaufsfällen über KGW (Hermes) liefern also nur Daten, die einmal anders hineingekommen sind. Über KGW selbst dürfen diese Tabellen nicht beschrieben werden. + +**c) Gewollt:** `workflow_hint_config` wird von `setup_schema` mit 9 Kategorien befüllt (u. a. `mahnung`, `zahlungsaufforderung`, `newsletter_werbung`) und danach nur noch gelesen. + +**Nächster Schritt:** einmal die Zeilenzahlen aller Tabellen und das jüngste `updated_at` abfragen. Erst dann ist klar, ob die Tabellen leer sind oder von außerhalb von n8n befüllt werden. + +## B6 – KAF-Bestätigung: DDL im Anfragepfad, fester Bestätiger +- **Beleg:** Ruft jemand `upsert_property_development_case` mit `quality_status: confirmed` auf, führt KNOW einen Sonderweg aus (`Build KAF Case Confirmation SQL`). Dieser Sonderweg macht Folgendes: + - Er führt bei **jedem** Aufruf `ALTER TABLE … ADD COLUMN IF NOT EXISTS confirmed_by / confirmed_at` aus. + - Er setzt `confirmed_by` ohne Angabe auf `r.rapp@mygodel.de`. +- **Folge:** + - Die beiden Spalten fehlen in `setup_schema`. + - DDL im Anfragepfad braucht eine exklusive Tabellensperre. + - Bestätigungen ohne Absender werden einer bestimmten Person zugeschrieben. + - Heute ruft kein Workflow diesen Weg auf (B5b). +- **Vorschlag:** die Spalten in `setup_schema` aufnehmen, das `ALTER TABLE` entfernen und `confirmed_by` zur Pflichtangabe machen. + +## B7 – `document_extractions` nur von außen +- **Beleg:** `store_document_extraction` ruft kein n8n-Workflow auf, auch `DOC - Dokumenten-Analyse` nicht. Geschrieben wird nur extern über KGW. +- **Vorschlag:** klären, ob DOC die Extraktionen speichern soll. Sie wären eine gute Quelle für Fälle bzw. Trainingsdaten in knaster. + +## B8 – Lösch-Operation über KGW +- **Beleg:** Die Freigabeliste von KGW enthält `purge_spf_aliases`, ein `DELETE` auf `project_aliases`. +- **Vorschlag:** Prüfen, ob externe Aufrufer (Hermes, Skripte) das wirklich brauchen. Sonst streichen. + +## B9 – Löschfristen +- **Beleg:** Folgende Felder speichern Klartext, eine Bereinigung ist nicht erkennbar: + - `llm_jobs.prompt` und `.result` + - `document_extractions.extracted_text` + - `property_development_cases.meeting_transcripts` + - `agent_context_documents.content` + - `mail_events` (Absender, Betreff) + + `purge_*` gibt es nur für Absender-Beobachtungen und Aliase. Bei `browser_sessions.session_data` ist am Schema nicht erkennbar, ob verschlüsselt wird. +- **Vorschlag:** Aufbewahrungsfristen festlegen, z. B. `llm_jobs` nach Abschluss nach 30 Tagen leeren. `browser_sessions` im Code von BSB prüfen. diff --git a/docs/reference/KNOW-schema.md b/docs/reference/KNOW-schema.md index d125b4f..dd8b2d6 100644 --- a/docs/reference/KNOW-schema.md +++ b/docs/reference/KNOW-schema.md @@ -1,7 +1,11 @@ # KNOW: Tabellen und Zugriffe (n8n, Schema `knowledge`) Stand: 13.10.2026. Abgeleitet aus den Workflow-Definitionen auf n8n.mindboost.app, gelesen über die n8n-API. Inhalte der Datenbank wurden nicht gelesen. -Interaktiver Graph: https://claude.ai/artifact/GP8FfU8M6Wk9hPRmJuk96h (privat, Freigabe über das Share-Menü) +Interaktive Ansichten (privat, Freigabe über das Share-Menü): +- Datenfluss: https://claude.ai/artifact/GP8FfU8M6Wk9hPRmJuk96h +- Ontologie: https://claude.ai/artifact/R7zxBJsCKkkCWdCcztLFUT (als OWL/Turtle: [know-ontology.ttl](know-ontology.ttl)) + +Befunde mit Belegen, Folgen und Vorschlägen: [KNOW-befunde.md](KNOW-befunde.md) (B1–B9) ## Aufbau @@ -14,7 +18,7 @@ Interaktiver Graph: https://claude.ai/artifact/GP8FfU8M6Wk9hPRmJuk96h (privat, F - `CAT - Postfach Pipeline` aktualisiert `workflow_hints` (`notified_at`, `pending_notification`). - `ASP - Absender-Report` liest `contacts`. -## Auffälligkeiten +## Auffälligkeiten (Kurzfassung, ausführlich in [KNOW-befunde.md](KNOW-befunde.md)) 1. **`CANCEL - Unsubscribe Link`** (aktiv) ruft in 4 Knoten `log_workflow_decision` auf. KNOW kennt diese Operation nicht und lehnt ab. Weil „Continue on Fail“ gesetzt ist, läuft der Workflow weiter, aber es wird nichts protokolliert. 2. **`KAN-Learn - Kanbau Pattern Learning`** (aktiv) ruft `upsert_kanbau_project_patterns` auf. Auch diese Operation kennt KNOW nicht. Der Knoten hat keine Fehlerbehandlung, die Ausführung bricht dort ab. diff --git a/docs/reference/know-ontology.ttl b/docs/reference/know-ontology.ttl new file mode 100644 index 0000000..2c0bc41 --- /dev/null +++ b/docs/reference/know-ontology.ttl @@ -0,0 +1,1615 @@ +@prefix know: . +@prefix owl: . +@prefix rdf: . +@prefix rdfs: . +@prefix xsd: . + + a owl:Ontology ; + rdfs:label "KNOW-Ontologie"@de ; + rdfs:comment "Abgeleitet aus dem Postgres-Schema knowledge (n8n KNOW, Stand 2026-10-13). Spalten, über die eine Beziehung läuft, stehen in know:viaSpalte."@de . + +know:quelleTabelle a owl:AnnotationProperty . +know:viaSpalte a owl:AnnotationProperty . + +know:Postfach a owl:Class ; + rdfs:label "Postfach"@de ; + rdfs:comment "Ein Microsoft-365-Postfach, das die Workflows lesen. Es gibt keine eigene Tabelle, das Postfach steckt in der Spalte mailbox mehrerer Tabellen."@de . + +know:Mail a owl:Class ; + rdfs:label "Mail"@de ; + rdfs:comment "Eine eingegangene und klassifizierte Mail."@de ; + know:quelleTabelle "mail_events" . + +know:Absender a owl:Class ; + rdfs:label "Absender"@de ; + rdfs:comment "Absenderadresse, beobachtet in einem Postfach über ein Zeitfenster (Profil mit Kategorien, Junk-Anteil, Abmelde-Link)."@de ; + know:quelleTabelle "sender_observations" . + +know:Domain a owl:Class ; + rdfs:label "Domain"@de ; + rdfs:comment "Registrierte Domain eines Absenders; bekannte Plattformen sind eigens markiert."@de ; + know:quelleTabelle "platform_domains" . + +know:Postfachzugriff a owl:Class ; + rdfs:label "Postfachzugriff"@de ; + rdfs:comment "Delegierter Zugriff auf ein Postfach (OAuth-Token, verschlüsselt gespeichert)."@de ; + know:quelleTabelle "mailbox_grants" . + +know:MailKategorie a owl:Class ; + rdfs:label "Mail-Kategorie"@de ; + rdfs:comment "Fachliche Kategorie einer Mail mit Regeln: ab wie vielen Beobachtungen die KI übersprungen wird, Priorität, Modellwahl, Safety-Floor."@de ; + know:quelleTabelle "workflow_hint_config" . + +know:Projekt a owl:Class ; + rdfs:label "Projekt"@de ; + rdfs:comment "Bauprojekt aus KanBau mit Adresse und Kürzel."@de ; + know:quelleTabelle "projects" . + +know:ProjektAlias a owl:Class ; + rdfs:label "Projekt-Alias"@de ; + rdfs:comment "Andere Bezeichnung für ein Projekt: Adresse, Kürzel oder ein aus Mails gelerntes Token."@de ; + know:quelleTabelle "project_aliases" . + +know:Kontakt a owl:Class ; + rdfs:label "Kontakt"@de ; + rdfs:comment "Firma oder Person mit Kontaktdaten, Steuernummern und Relevanz-Score."@de ; + know:quelleTabelle "contacts" . + +know:KontaktAlias a owl:Class ; + rdfs:label "Kontakt-Alias"@de ; + rdfs:comment "Andere Schreibweise eines Kontakts."@de ; + know:quelleTabelle "contact_aliases" . + +know:Projektbeteiligung a owl:Class ; + rdfs:label "Projektbeteiligung"@de ; + rdfs:comment "Rolle eines Kontakts in einem Projekt, mit Gültigkeitszeitraum (reifizierte Beziehung)."@de ; + know:quelleTabelle "contact_project_relations" . + +know:Projektereignis a owl:Class ; + rdfs:label "Projektereignis"@de ; + rdfs:comment "Aus einer Mail erkanntes Ereignis zu einem Projekt (Verzögerung, Mangel, Termin, Kosten, Info) mit Dringlichkeit."@de ; + know:quelleTabelle "project_events" . + +know:Ereignisart a owl:Class ; + rdfs:label "Ereignisart"@de ; + rdfs:comment "Art eines Projektereignisses. Als CHECK-Constraint der Spalte project_events.category festgelegt."@de . + +know:Projektordner a owl:Class ; + rdfs:label "Projektordner"@de ; + rdfs:comment "SharePoint-Ordner eines Projekts."@de ; + know:quelleTabelle "project_folders" . + +know:Projektkuerzel a owl:Class ; + rdfs:label "Projektkürzel"@de ; + rdfs:comment "Kürzel einer Baustelle mit der zuständigen Gesellschaft."@de ; + know:quelleTabelle "project_companies" . + +know:Gesellschaft a owl:Class ; + rdfs:label "Gesellschaft"@de ; + rdfs:comment "Rechtsträger, dem Projekte und Rechnungen zugeordnet werden. Als CHECK-Constraint festgelegt."@de . + +know:Rechnungsbeobachtung a owl:Class ; + rdfs:label "Rechnungsbeobachtung"@de ; + rdfs:comment "In einer Rechnung (Mail-Anhang) beobachtete Zuordnung Kürzel → Gesellschaft."@de ; + know:quelleTabelle "invoice_company_observations" . + +know:Dokument a owl:Class ; + rdfs:label "Dokument"@de ; + rdfs:comment "Oberbegriff für alle gespeicherten Dokumente und Extraktionen (abstrakt)."@de . + +know:AnhangExtraktion a owl:Class ; + rdfs:label "Anhang-Extraktion"@de ; + rdfs:comment "Text und strukturierte Felder, die aus einem Mail-Anhang gelesen wurden."@de ; + know:quelleTabelle "document_extractions" ; + rdfs:subClassOf know:Dokument . + +know:Ankaufsfall a owl:Class ; + rdfs:label "Ankaufsfall"@de ; + rdfs:comment "Grundstück oder Objekt in der Ankaufsprüfung: Pipeline-Status, Ergebnis, Fristen, Angebote, Unterlagen, Risiko."@de ; + know:quelleTabelle "property_development_cases" . + +know:Falldokument a owl:Class ; + rdfs:label "Falldokument"@de ; + rdfs:comment "Unterlage zu einem Ankaufsfall aus SharePoint, mit Dokumenttyp und Versionierung."@de ; + know:quelleTabelle "property_development_documents" ; + rdfs:subClassOf know:Dokument . + +know:Dokumenttyp a owl:Class ; + rdfs:label "Dokumenttyp"@de ; + rdfs:comment "Typ eines Falldokuments, im KNOW-Code als feste Liste hinterlegt."@de . + +know:Kaufvertragspruefung a owl:Class ; + rdfs:label "Kaufvertragsprüfung"@de ; + rdfs:comment "Prüfstand eines Kaufvertrags: extrahierte Felder, Einheiten, Freigabe durch eine Mitarbeiterin oder einen Mitarbeiter."@de ; + know:quelleTabelle "kaf_review_snapshots" . + +know:Notarkanzlei a owl:Class ; + rdfs:label "Notarkanzlei"@de ; + rdfs:comment "Notarkanzlei mit gelernten Feldmustern für das Auslesen von Kaufverträgen."@de ; + know:quelleTabelle "kanzlei_field_patterns" . + +know:Kanzleimandat a owl:Class ; + rdfs:label "Kanzleimandat"@de ; + rdfs:comment "Zuordnung Kanzlei ↔ Projekt mit Notarname (reifizierte Beziehung)."@de ; + know:quelleTabelle "kanzlei_project_relations" . + +know:Ort a owl:Class ; + rdfs:label "Ort / Flurstück"@de ; + rdfs:comment "Geokodierte Adresse mit Flurstück und Bundesland."@de ; + know:quelleTabelle "place_enrichments" . + +know:KanbauKaufvertrag a owl:Class ; + rdfs:label "KanBau-Kaufvertrag"@de ; + rdfs:comment "Kaufvertrag, der nach Bestätigung in KanBau angelegt wird (created_saleagr_id)."@de . + +know:Beleg a owl:Class ; + rdfs:label "Beleg"@de ; + rdfs:comment "Verarbeiteter SEPA-Beleg mit Betrag, reserviert und dann hochgeladen."@de ; + know:quelleTabelle "bel_processed_belege" . + +know:Bankkonto a owl:Class ; + rdfs:label "Bankkonto"@de ; + rdfs:comment "Konto, zu dem ein Beleg gehört (bank + account_ref)."@de . + +know:Workflow a owl:Class ; + rdfs:label "n8n-Workflow"@de ; + rdfs:comment "Ein n8n-Workflow, der entscheidet, lernt oder aufgerufen wird. Steht nur als Name in Spalten."@de . + +know:Entscheidung a owl:Class ; + rdfs:label "Entscheidung"@de ; + rdfs:comment "Vorschlag eines Workflows und die tatsächliche Entscheidung mit Korrekturgrund."@de ; + know:quelleTabelle "workflow_decisions" . + +know:Referenzobjekt a owl:Class ; + rdfs:label "Referenzobjekt"@de ; + rdfs:comment "Objekt, auf das sich eine Entscheidung bezieht. Polymorph über reference_type und reference_id, die Typen legt das Schema nicht fest."@de . + +know:Hinweis a owl:Class ; + rdfs:label "Hinweis (gelerntes Muster)"@de ; + rdfs:comment "Gelerntes Muster (Schlüssel und Wert → vorgeschlagene Aktion) mit Zähler, Konfidenz und Bestätigung."@de ; + know:quelleTabelle "workflow_hints" . + +know:KanbauApiMethode a owl:Class ; + rdfs:label "KanBau-API-Methode"@de ; + rdfs:comment "Validiertes Request/Response-Beispiel einer KanBau-API-Methode."@de ; + know:quelleTabelle "kanbau_method_examples" . + +know:Mitarbeiter a owl:Class ; + rdfs:label "Mitarbeiter:in"@de ; + rdfs:comment "Person im Unternehmen (@mygodel.de), die prüft, bestätigt oder bearbeitet. Steht nur als Name oder Adresse in Spalten."@de . + +know:AgentBereich a owl:Class ; + rdfs:label "Agent-Bereich"@de ; + rdfs:comment "Einsatzbereich eines Agenten (scope_key)."@de . + +know:Faehigkeit a owl:Class ; + rdfs:label "Fähigkeit"@de ; + rdfs:comment "Was ein Agent tun darf: Beispiel-Intents, Workflow, Risiko, Freigabepflicht."@de ; + know:quelleTabelle "agent_capabilities" . + +know:Kontextdokument a owl:Class ; + rdfs:label "Kontextdokument"@de ; + rdfs:comment "Eingelesenes Dokument als Wissen für einen Agenten."@de ; + know:quelleTabelle "agent_context_documents" ; + rdfs:subClassOf know:Dokument . + +know:AgentAusfuehrung a owl:Class ; + rdfs:label "Agent-Ausführung"@de ; + rdfs:comment "Protokoll einer Agent-Anfrage mit gewählter Fähigkeit und Ergebnis."@de ; + know:quelleTabelle "agent_execution_log" . + +know:LoginAnbieter a owl:Class ; + rdfs:label "Login-Anbieter"@de ; + rdfs:comment "Webanwendung mit hinterlegtem Login-Ablauf für die Browser-Automation."@de ; + know:quelleTabelle "session_providers" . + +know:BrowserSession a owl:Class ; + rdfs:label "Browser-Session"@de ; + rdfs:comment "Gespeicherte Sitzung bei einem Login-Anbieter mit Ablaufzeit."@de ; + know:quelleTabelle "browser_sessions" . + +know:LlmWorker a owl:Class ; + rdfs:label "LLM-Worker"@de ; + rdfs:comment "Lokaler Rechner mit LLM, der sich per Heartbeat meldet (optional mit OpenAI-Endpoint)."@de ; + know:quelleTabelle "llm_workers" . + +know:WorkerSperre a owl:Class ; + rdfs:label "Worker-Sperre"@de ; + rdfs:comment "Gesperrter Worker (unsupported)."@de ; + know:quelleTabelle "llm_worker_blocklist" . + +know:LlmJob a owl:Class ; + rdfs:label "LLM-Job"@de ; + rdfs:comment "Auftrag im Job-Board: Prompt, Mindest-Tier, Ergebnis, Dauer."@de ; + know:quelleTabelle "llm_jobs" . + +know:Tier a owl:Class ; + rdfs:label "Tier"@de ; + rdfs:comment "Leistungsstufe eines Workers bzw. Mindeststufe eines Jobs."@de . + +know:Modell a owl:Class ; + rdfs:label "Modell"@de ; + rdfs:comment "LLM-Modell, das ein Worker betreibt. Erlaubte Werte stehen in der Worker Registry."@de . + +know:KanBau a owl:Class ; + rdfs:label "KanBau"@de ; + rdfs:comment "Externes Bau- und Projektverwaltungssystem (Projekte, Adressen, Kaufverträge)."@de . + +know:SharePoint a owl:Class ; + rdfs:label "SharePoint"@de ; + rdfs:comment "Ablage für Projekt-, Fall- und Belegdokumente."@de . + +know:Microsoft365 a owl:Class ; + rdfs:label "Microsoft 365"@de ; + rdfs:comment "Postfächer und delegierter Zugriff (provider microsoft)."@de . + +know:empfangenIn a owl:ObjectProperty ; + rdfs:domain know:Mail ; + rdfs:range know:Postfach ; + know:viaSpalte "Mail→Postfach: mail_events.mailbox"@de . + +know:gesendetVon a owl:ObjectProperty ; + rdfs:domain know:Mail ; + rdfs:range know:Absender ; + know:viaSpalte "Mail→Absender: mail_events.sender = sender_observations.email"@de . + +know:hatKategorie a owl:ObjectProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:Mail know:Hinweis ) ] ; + rdfs:range know:MailKategorie ; + know:viaSpalte "Mail→MailKategorie: mail_events.category = workflow_hint_config.config_key"@de ; + know:viaSpalte "Hinweis→MailKategorie: workflow_hints.hint_type = config_key (JOIN)"@de . + +know:zugeordnetZu a owl:ObjectProperty ; + rdfs:domain know:Mail ; + rdfs:range know:Projekt ; + know:viaSpalte "Mail→Projekt: mail_events.assigned_project_key"@de . + +know:beobachtetIn a owl:ObjectProperty ; + rdfs:domain know:Absender ; + rdfs:range know:Postfach ; + know:viaSpalte "Absender→Postfach: sender_observations.mailbox"@de . + +know:gehoertZuDomain a owl:ObjectProperty ; + rdfs:domain know:Absender ; + rdfs:range know:Domain ; + know:viaSpalte "Absender→Domain: sender_observations.registered_domain (JOIN)"@de . + +know:entsprichtKontakt a owl:ObjectProperty ; + rdfs:domain know:Absender ; + rdfs:range know:Kontakt ; + know:viaSpalte "Absender→Kontakt: E-Mail-Adresse (contacts.email)"@de . + +know:gewaehrtFuer a owl:ObjectProperty ; + rdfs:domain know:Postfachzugriff ; + rdfs:range know:Postfach ; + know:viaSpalte "Postfachzugriff→Postfach: mailbox_grants.grant_key"@de . + +know:liegtIn a owl:ObjectProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:Postfach know:Projektordner know:Falldokument know:KanbauKaufvertrag know:Ankaufsfall ) ] ; + rdfs:range [ a owl:Class ; owl:unionOf ( know:Microsoft365 know:SharePoint know:KanBau ) ] ; + know:viaSpalte "Postfach→Microsoft365: mailbox_grants.provider = 'microsoft'"@de ; + know:viaSpalte "Projektordner→SharePoint: project_folders.drive_id, folder_item_id"@de ; + know:viaSpalte "Falldokument→SharePoint: sharepoint_item_id, file_path"@de ; + know:viaSpalte "KanbauKaufvertrag→KanBau: created_saleagr_url"@de ; + know:viaSpalte "Ankaufsfall→SharePoint: folder_path, sharepoint_json"@de . + +know:ausMail a owl:ObjectProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:AnhangExtraktion know:Projektereignis know:Rechnungsbeobachtung ) ] ; + rdfs:range know:Mail ; + know:viaSpalte "AnhangExtraktion→Mail: document_extractions.message_id"@de ; + know:viaSpalte "Projektereignis→Mail: project_events.message_id"@de ; + know:viaSpalte "Rechnungsbeobachtung→Mail: invoice_company_observations.message_id"@de . + +know:vonKontakt a owl:ObjectProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:AnhangExtraktion know:Projektbeteiligung ) ] ; + rdfs:range know:Kontakt ; + know:viaSpalte "AnhangExtraktion→Kontakt: document_extractions.sender_contact_key"@de ; + know:viaSpalte "Projektbeteiligung→Kontakt: contact_project_relations.contact_key"@de . + +know:betrifftProjekt a owl:ObjectProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:AnhangExtraktion know:Projektbeteiligung know:Projektereignis know:Projektordner know:Kanzleimandat ) ] ; + rdfs:range know:Projekt ; + know:viaSpalte "AnhangExtraktion→Projekt: document_extractions.project_key"@de ; + know:viaSpalte "Projektbeteiligung→Projekt: contact_project_relations.project_key"@de ; + know:viaSpalte "Projektereignis→Projekt: project_events.project_key"@de ; + know:viaSpalte "Projektordner→Projekt: project_folders.project_key"@de ; + know:viaSpalte "Kanzleimandat→Projekt: kanzlei_project_relations.project_key"@de . + +know:bezeichnet a owl:ObjectProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:ProjektAlias know:KontaktAlias ) ] ; + rdfs:range [ a owl:Class ; owl:unionOf ( know:Projekt know:Kontakt ) ] ; + know:viaSpalte "ProjektAlias→Projekt: project_aliases.project_key (JOIN)"@de ; + know:viaSpalte "KontaktAlias→Kontakt: contact_aliases.contact_key"@de . + +know:stammtAus a owl:ObjectProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:Projekt know:Kontakt ) ] ; + rdfs:range know:KanBau ; + know:viaSpalte "Projekt→KanBau: projects.kanbau_project_id"@de ; + know:viaSpalte "Kontakt→KanBau: contacts.kanbau_address_id"@de . + +know:hatArt a owl:ObjectProperty ; + rdfs:domain know:Projektereignis ; + rdfs:range know:Ereignisart ; + know:viaSpalte "Projektereignis→Ereignisart: project_events.category"@de . + +know:abgelegtIn a owl:ObjectProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:Projektereignis know:Beleg ) ] ; + rdfs:range know:SharePoint ; + know:viaSpalte "Projektereignis→SharePoint: project_events.sharepoint_path"@de ; + know:viaSpalte "Beleg→SharePoint: bel_processed_belege.sharepoint_path"@de . + +know:gehoertZu a owl:ObjectProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:Projektkuerzel know:Rechnungsbeobachtung know:Faehigkeit know:Kontextdokument ) ] ; + rdfs:range [ a owl:Class ; owl:unionOf ( know:Gesellschaft know:AgentBereich ) ] ; + know:viaSpalte "Projektkuerzel→Gesellschaft: project_companies.gesellschaft"@de ; + know:viaSpalte "Rechnungsbeobachtung→Gesellschaft: invoice_company_observations.gesellschaft"@de ; + know:viaSpalte "Faehigkeit→AgentBereich: agent_capabilities.scope_key"@de ; + know:viaSpalte "Kontextdokument→AgentBereich: agent_context_documents.scope_key"@de . + +know:nenntKuerzel a owl:ObjectProperty ; + rdfs:domain know:Rechnungsbeobachtung ; + rdfs:range know:Projektkuerzel ; + know:viaSpalte "Rechnungsbeobachtung→Projektkuerzel: invoice_company_observations.kuerzel (JOIN)"@de . + +know:hatDokument a owl:ObjectProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range know:Falldokument ; + know:viaSpalte "Ankaufsfall→Falldokument: property_development_documents.case_key (JOIN)"@de . + +know:ersetzt a owl:ObjectProperty ; + rdfs:domain know:Falldokument ; + rdfs:range know:Falldokument ; + know:viaSpalte "Falldokument→Falldokument: supersedes_document_key"@de . + +know:hatTyp a owl:ObjectProperty ; + rdfs:domain know:Falldokument ; + rdfs:range know:Dokumenttyp ; + know:viaSpalte "Falldokument→Dokumenttyp: property_development_documents.document_type"@de . + +know:hatPruefung a owl:ObjectProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range know:Kaufvertragspruefung ; + know:viaSpalte "Ankaufsfall→Kaufvertragspruefung: kaf_review_snapshots.case_key"@de . + +know:wirdZuProjekt a owl:ObjectProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range know:Projekt ; + know:viaSpalte "Ankaufsfall→Projekt: selected_project_id (KanBau-Projekt-ID)"@de . + +know:erzeugt a owl:ObjectProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range know:KanbauKaufvertrag ; + know:viaSpalte "Ankaufsfall→KanbauKaufvertrag: created_saleagr_id, created_saleagr_url"@de . + +know:liegtAn a owl:ObjectProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:Ankaufsfall know:Projekt ) ] ; + rdfs:range know:Ort ; + know:viaSpalte "Ankaufsfall→Ort: street_address, location_city ↔ place_enrichments.input_address"@de ; + know:viaSpalte "Projekt→Ort: full_address ↔ place_enrichments.input_address"@de . + +know:bearbeitetVon a owl:ObjectProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:Ankaufsfall know:LlmJob ) ] ; + rdfs:range [ a owl:Class ; owl:unionOf ( know:Mitarbeiter know:LlmWorker ) ] ; + know:viaSpalte "Ankaufsfall→Mitarbeiter: assigned_to, project_lead"@de ; + know:viaSpalte "LlmJob→LlmWorker: llm_jobs.assigned_to = llm_workers.host"@de . + +know:vonKanzlei a owl:ObjectProperty ; + rdfs:domain know:Kanzleimandat ; + rdfs:range know:Notarkanzlei ; + know:viaSpalte "Kanzleimandat→Notarkanzlei: kanzlei_project_relations.kanzlei_key"@de . + +know:geprueftVon a owl:ObjectProperty ; + rdfs:domain know:Kaufvertragspruefung ; + rdfs:range know:Mitarbeiter ; + know:viaSpalte "Kaufvertragspruefung→Mitarbeiter: reviewed_by, review_to (@mygodel.de)"@de . + +know:gehoertZuKonto a owl:ObjectProperty ; + rdfs:domain know:Beleg ; + rdfs:range know:Bankkonto ; + know:viaSpalte "Beleg→Bankkonto: bel_processed_belege.bank, account_ref"@de . + +know:getroffenVon a owl:ObjectProperty ; + rdfs:domain know:Entscheidung ; + rdfs:range know:Workflow ; + know:viaSpalte "Entscheidung→Workflow: workflow_decisions.workflow"@de . + +know:betrifft a owl:ObjectProperty ; + rdfs:domain know:Entscheidung ; + rdfs:range know:Referenzobjekt ; + know:viaSpalte "Entscheidung→Referenzobjekt: reference_type + reference_id"@de . + +know:gelerntIn a owl:ObjectProperty ; + rdfs:domain know:Hinweis ; + rdfs:range know:Workflow ; + know:viaSpalte "Hinweis→Workflow: workflow_hints.workflow"@de . + +know:betrifftKontakt a owl:ObjectProperty ; + rdfs:domain know:Hinweis ; + rdfs:range know:Kontakt ; + know:viaSpalte "Hinweis→Kontakt: workflow_hints.pattern_key = contact_key (JOIN)"@de . + +know:bestaetigtVon a owl:ObjectProperty ; + rdfs:domain know:Hinweis ; + rdfs:range know:Mitarbeiter ; + know:viaSpalte "Hinweis→Mitarbeiter: workflow_hints.confirmed_by"@de . + +know:beschreibt a owl:ObjectProperty ; + rdfs:domain know:KanbauApiMethode ; + rdfs:range know:KanBau ; + know:viaSpalte "KanbauApiMethode→KanBau: method_key, swagger_ref"@de . + +know:ruftAuf a owl:ObjectProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:Faehigkeit know:AgentAusfuehrung ) ] ; + rdfs:range know:Workflow ; + know:viaSpalte "Faehigkeit→Workflow: agent_capabilities.workflow_name"@de ; + know:viaSpalte "AgentAusfuehrung→Workflow: agent_execution_log.workflow_called"@de . + +know:imBereich a owl:ObjectProperty ; + rdfs:domain know:AgentAusfuehrung ; + rdfs:range know:AgentBereich ; + know:viaSpalte "AgentAusfuehrung→AgentBereich: agent_execution_log.agent_scope"@de . + +know:waehlt a owl:ObjectProperty ; + rdfs:domain know:AgentAusfuehrung ; + rdfs:range know:Faehigkeit ; + know:viaSpalte "AgentAusfuehrung→Faehigkeit: agent_execution_log.selected_capability"@de . + +know:fuerAnbieter a owl:ObjectProperty ; + rdfs:domain know:BrowserSession ; + rdfs:range know:LoginAnbieter ; + know:viaSpalte "BrowserSession→LoginAnbieter: browser_sessions.provider_id"@de . + +know:meldetAnBei a owl:ObjectProperty ; + rdfs:domain know:LoginAnbieter ; + rdfs:range know:KanBau ; + know:viaSpalte "LoginAnbieter→KanBau: über BSB - Get Session für das KanBau-Gateway"@de . + +know:verlangtTier a owl:ObjectProperty ; + rdfs:domain know:LlmJob ; + rdfs:range know:Tier ; + know:viaSpalte "LlmJob→Tier: llm_jobs.min_tier"@de . + +know:nutzteModell a owl:ObjectProperty ; + rdfs:domain know:LlmJob ; + rdfs:range know:Modell ; + know:viaSpalte "LlmJob→Modell: llm_jobs.model"@de . + +know:hatTier a owl:ObjectProperty ; + rdfs:domain know:LlmWorker ; + rdfs:range know:Tier ; + know:viaSpalte "LlmWorker→Tier: llm_workers.tier"@de . + +know:betreibt a owl:ObjectProperty ; + rdfs:domain know:LlmWorker ; + rdfs:range know:Modell ; + know:viaSpalte "LlmWorker→Modell: llm_workers.model"@de . + +know:sperrt a owl:ObjectProperty ; + rdfs:domain know:WorkerSperre ; + rdfs:range know:LlmWorker ; + know:viaSpalte "WorkerSperre→LlmWorker: llm_worker_blocklist.mac"@de . + +know:absender_typ a owl:DatatypeProperty ; + rdfs:domain know:Absender ; + rdfs:range xsd:string . + +know:address_json a owl:DatatypeProperty ; + rdfs:domain know:Kontakt ; + rdfs:range rdf:JSON . + +know:affected_unit a owl:DatatypeProperty ; + rdfs:domain know:Projektereignis ; + rdfs:range xsd:string . + +know:alias_key a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:ProjektAlias know:KontaktAlias ) ] ; + rdfs:range xsd:string . + +know:alias_type a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:ProjektAlias know:KontaktAlias ) ] ; + rdfs:range xsd:string . + +know:alias_value a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:ProjektAlias know:KontaktAlias ) ] ; + rdfs:range xsd:string . + +know:amount_cents a owl:DatatypeProperty ; + rdfs:domain know:Beleg ; + rdfs:range xsd:integer . + +know:apartment_count a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:integer . + +know:artifacts_json a owl:DatatypeProperty ; + rdfs:domain know:Kaufvertragspruefung ; + rdfs:range rdf:JSON . + +know:asset_type a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:string . + +know:assigned_at a owl:DatatypeProperty ; + rdfs:domain know:LlmJob ; + rdfs:range xsd:dateTime . + +know:attachment_id a owl:DatatypeProperty ; + rdfs:domain know:AnhangExtraktion ; + rdfs:range xsd:string . + +know:auth_type a owl:DatatypeProperty ; + rdfs:domain know:LoginAnbieter ; + rdfs:range xsd:string . + +know:author_or_sender a owl:DatatypeProperty ; + rdfs:domain know:Falldokument ; + rdfs:range xsd:string . + +know:average_price_per_sqm_eur a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:decimal . + +know:avg_confidence a owl:DatatypeProperty ; + rdfs:domain know:Absender ; + rdfs:range xsd:decimal . + +know:baustelle a owl:DatatypeProperty ; + rdfs:domain know:Projektkuerzel ; + rdfs:range xsd:string . + +know:beleg_hash a owl:DatatypeProperty ; + rdfs:domain know:Beleg ; + rdfs:range xsd:string . + +know:bestaetigt a owl:DatatypeProperty ; + rdfs:domain know:Projektkuerzel ; + rdfs:range xsd:boolean . + +know:blocked_at a owl:DatatypeProperty ; + rdfs:domain know:WorkerSperre ; + rdfs:range xsd:dateTime . + +know:bplan_document_present a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:boolean . + +know:building_permit_present a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:boolean . + +know:bundesland a owl:DatatypeProperty ; + rdfs:domain know:Ort ; + rdfs:range xsd:string . + +know:business_relevance_score a owl:DatatypeProperty ; + rdfs:domain know:Kontakt ; + rdfs:range xsd:decimal . + +know:capability_key a owl:DatatypeProperty ; + rdfs:domain know:Faehigkeit ; + rdfs:range xsd:string . + +know:case_code a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:string . + +know:case_key a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:Falldokument know:Kaufvertragspruefung ) ] ; + rdfs:range xsd:string . + +know:case_opened_at a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:date . + +know:case_readiness a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:string . + +know:category_histogram a owl:DatatypeProperty ; + rdfs:domain know:Absender ; + rdfs:range rdf:JSON . + +know:city a owl:DatatypeProperty ; + rdfs:domain know:Projekt ; + rdfs:range xsd:string . + +know:commission_including_vat a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:string . + +know:company_context a owl:DatatypeProperty ; + rdfs:domain know:Projekt ; + rdfs:range xsd:string . + +know:completed_at a owl:DatatypeProperty ; + rdfs:domain know:LlmJob ; + rdfs:range xsd:dateTime . + +know:confidence a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:ProjektAlias know:KontaktAlias know:Projektbeteiligung know:AnhangExtraktion know:Ankaufsfall know:Falldokument know:Ort know:Entscheidung know:Hinweis ) ] ; + rdfs:range xsd:decimal . + +know:config_key a owl:DatatypeProperty ; + rdfs:domain know:MailKategorie ; + rdfs:range xsd:string . + +know:confirmation_expires_at a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:Ankaufsfall know:Kaufvertragspruefung ) ] ; + rdfs:range xsd:dateTime . + +know:confirmation_request_id a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:string . + +know:confirmation_status a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:string . + +know:confirmation_token_hash a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:Ankaufsfall know:Kaufvertragspruefung ) ] ; + rdfs:range xsd:string . + +know:confirmed_at a owl:DatatypeProperty ; + rdfs:domain know:Hinweis ; + rdfs:range xsd:dateTime . + +know:contact_broker a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:string . + +know:contact_key a owl:DatatypeProperty ; + rdfs:domain know:Kontakt ; + rdfs:range xsd:string . + +know:contact_type a owl:DatatypeProperty ; + rdfs:domain know:Kontakt ; + rdfs:range xsd:string . + +know:content a owl:DatatypeProperty ; + rdfs:domain know:Kontextdokument ; + rdfs:range xsd:string . + +know:content_hash a owl:DatatypeProperty ; + rdfs:domain know:Kontextdokument ; + rdfs:range xsd:string . + +know:content_type a owl:DatatypeProperty ; + rdfs:domain know:AnhangExtraktion ; + rdfs:range xsd:string . + +know:correction_reason a owl:DatatypeProperty ; + rdfs:domain know:Entscheidung ; + rdfs:range xsd:string . + +know:credential_key a owl:DatatypeProperty ; + rdfs:domain know:LoginAnbieter ; + rdfs:range xsd:string . + +know:deadline_is_overdue a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:boolean . + +know:decision_type a owl:DatatypeProperty ; + rdfs:domain know:Entscheidung ; + rdfs:range xsd:string . + +know:delivery_mode a owl:DatatypeProperty ; + rdfs:domain know:Kaufvertragspruefung ; + rdfs:range xsd:string . + +know:description a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:MailKategorie know:Faehigkeit ) ] ; + rdfs:range xsd:string . + +know:detected_addresses_json a owl:DatatypeProperty ; + rdfs:domain know:AnhangExtraktion ; + rdfs:range rdf:JSON . + +know:detected_contacts_json a owl:DatatypeProperty ; + rdfs:domain know:AnhangExtraktion ; + rdfs:range rdf:JSON . + +know:detected_documents a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range rdf:JSON . + +know:development_plan_available a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:boolean . + +know:display_name a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:Absender know:Domain know:Kontakt know:LoginAnbieter ) ] ; + rdfs:range xsd:string . + +know:distribution_json a owl:DatatypeProperty ; + rdfs:domain know:Kaufvertragspruefung ; + rdfs:range rdf:JSON . + +know:document_count a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:integer . + +know:document_date a owl:DatatypeProperty ; + rdfs:domain know:Falldokument ; + rdfs:range xsd:date . + +know:document_key a owl:DatatypeProperty ; + rdfs:domain know:Falldokument ; + rdfs:range xsd:string . + +know:document_type a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:AnhangExtraktion know:Kontextdokument ) ] ; + rdfs:range xsd:string . + +know:dominant_category a owl:DatatypeProperty ; + rdfs:domain know:Absender ; + rdfs:range xsd:string . + +know:dominant_share a owl:DatatypeProperty ; + rdfs:domain know:Absender ; + rdfs:range xsd:decimal . + +know:duration_ms a owl:DatatypeProperty ; + rdfs:domain know:LlmJob ; + rdfs:range xsd:integer . + +know:email a owl:DatatypeProperty ; + rdfs:domain know:Kontakt ; + rdfs:range xsd:string . + +know:enabled a owl:DatatypeProperty ; + rdfs:domain know:Faehigkeit ; + rdfs:range xsd:boolean . + +know:endpoint a owl:DatatypeProperty ; + rdfs:domain know:LlmWorker ; + rdfs:range rdf:JSON . + +know:enrichment_json a owl:DatatypeProperty ; + rdfs:domain know:Ort ; + rdfs:range rdf:JSON . + +know:error_message a owl:DatatypeProperty ; + rdfs:domain know:LlmJob ; + rdfs:range xsd:string . + +know:errors_json a owl:DatatypeProperty ; + rdfs:domain know:AgentAusfuehrung ; + rdfs:range rdf:JSON . + +know:event_date a owl:DatatypeProperty ; + rdfs:domain know:Projektereignis ; + rdfs:range xsd:dateTime . + +know:evidence_json a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:Domain know:ProjektAlias know:KontaktAlias know:Projektbeteiligung know:Projektkuerzel ) ] ; + rdfs:range rdf:JSON . + +know:example_request a owl:DatatypeProperty ; + rdfs:domain know:KanbauApiMethode ; + rdfs:range rdf:JSON . + +know:example_response a owl:DatatypeProperty ; + rdfs:domain know:KanbauApiMethode ; + rdfs:range rdf:JSON . + +know:expires_at a owl:DatatypeProperty ; + rdfs:domain know:BrowserSession ; + rdfs:range xsd:dateTime . + +know:expires_hint a owl:DatatypeProperty ; + rdfs:domain know:Postfachzugriff ; + rdfs:range xsd:dateTime . + +know:export_ref a owl:DatatypeProperty ; + rdfs:domain know:Beleg ; + rdfs:range xsd:string . + +know:extracted_fields_json a owl:DatatypeProperty ; + rdfs:domain know:Falldokument ; + rdfs:range rdf:JSON . + +know:extracted_summary a owl:DatatypeProperty ; + rdfs:domain know:Falldokument ; + rdfs:range xsd:string . + +know:extracted_text a owl:DatatypeProperty ; + rdfs:domain know:AnhangExtraktion ; + rdfs:range xsd:string . + +know:extraction_source a owl:DatatypeProperty ; + rdfs:domain know:AnhangExtraktion ; + rdfs:range xsd:string . + +know:fields_json a owl:DatatypeProperty ; + rdfs:domain know:Kaufvertragspruefung ; + rdfs:range rdf:JSON . + +know:file_name a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:Rechnungsbeobachtung know:AnhangExtraktion know:Falldokument ) ] ; + rdfs:range xsd:string . + +know:final_decision a owl:DatatypeProperty ; + rdfs:domain know:Entscheidung ; + rdfs:range rdf:JSON . + +know:first_mail_at a owl:DatatypeProperty ; + rdfs:domain know:Absender ; + rdfs:range xsd:dateTime . + +know:first_seen_at a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:Domain know:Kontakt know:Ankaufsfall ) ] ; + rdfs:range xsd:dateTime . + +know:flurstueck a owl:DatatypeProperty ; + rdfs:domain know:Ort ; + rdfs:range xsd:string . + +know:folder_name a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:Projektordner know:Ankaufsfall ) ] ; + rdfs:range xsd:string . + +know:folder_path a owl:DatatypeProperty ; + rdfs:domain know:Projektordner ; + rdfs:range xsd:string . + +know:folder_segment a owl:DatatypeProperty ; + rdfs:domain know:Falldokument ; + rdfs:range xsd:string . + +know:folder_status_source a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:string . + +know:godel_internal a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:boolean . + +know:godel_offer a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:string . + +know:hardware_json a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:LlmWorker know:WorkerSperre ) ] ; + rdfs:range rdf:JSON . + +know:hint_key a owl:DatatypeProperty ; + rdfs:domain know:Hinweis ; + rdfs:range xsd:string . + +know:host a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:LlmWorker know:WorkerSperre ) ] ; + rdfs:range xsd:string . + +know:iban_hash a owl:DatatypeProperty ; + rdfs:domain know:Kontakt ; + rdfs:range xsd:string . + +know:input_address a owl:DatatypeProperty ; + rdfs:domain know:Ort ; + rdfs:range xsd:string . + +know:inputs_json a owl:DatatypeProperty ; + rdfs:domain know:AgentAusfuehrung ; + rdfs:range rdf:JSON . + +know:intent_examples a owl:DatatypeProperty ; + rdfs:domain know:Faehigkeit ; + rdfs:range rdf:JSON . + +know:is_current_version a owl:DatatypeProperty ; + rdfs:domain know:Falldokument ; + rdfs:range xsd:boolean . + +know:job_id a owl:DatatypeProperty ; + rdfs:domain know:LlmJob ; + rdfs:range xsd:string . + +know:junk_count a owl:DatatypeProperty ; + rdfs:domain know:Absender ; + rdfs:range xsd:integer . + +know:just_one_week_more a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:boolean . + +know:kanbau_project_id a owl:DatatypeProperty ; + rdfs:domain know:ProjektAlias ; + rdfs:range xsd:string . + +know:kanzlei_display a owl:DatatypeProperty ; + rdfs:domain know:Notarkanzlei ; + rdfs:range xsd:string . + +know:kanzlei_key a owl:DatatypeProperty ; + rdfs:domain know:Notarkanzlei ; + rdfs:range xsd:string . + +know:kuerzel a owl:DatatypeProperty ; + rdfs:domain know:Projektkuerzel ; + rdfs:range xsd:string . + +know:last_document_at a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:date . + +know:last_ingested_at a owl:DatatypeProperty ; + rdfs:domain know:Kontextdokument ; + rdfs:range xsd:dateTime . + +know:last_mail_at a owl:DatatypeProperty ; + rdfs:domain know:Absender ; + rdfs:range xsd:dateTime . + +know:last_offer_at a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:date . + +know:last_processed_at a owl:DatatypeProperty ; + rdfs:domain know:Mail ; + rdfs:range xsd:dateTime . + +know:last_seen_at a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:Domain know:Kontakt know:Ankaufsfall know:Beleg know:LlmWorker ) ] ; + rdfs:range xsd:dateTime . + +know:last_synced_at a owl:DatatypeProperty ; + rdfs:domain know:Projekt ; + rdfs:range xsd:dateTime . + +know:lat a owl:DatatypeProperty ; + rdfs:domain know:Ort ; + rdfs:range xsd:double . + +know:legal_name a owl:DatatypeProperty ; + rdfs:domain know:Kontakt ; + rdfs:range xsd:string . + +know:location_district a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:string . + +know:login_url a owl:DatatypeProperty ; + rdfs:domain know:LoginAnbieter ; + rdfs:range xsd:string . + +know:loi_present a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:boolean . + +know:lon a owl:DatatypeProperty ; + rdfs:domain know:Ort ; + rdfs:range xsd:double . + +know:mac a owl:DatatypeProperty ; + rdfs:domain know:LlmWorker ; + rdfs:range xsd:string . + +know:mail_art a owl:DatatypeProperty ; + rdfs:domain know:Absender ; + rdfs:range xsd:string . + +know:mail_count a owl:DatatypeProperty ; + rdfs:domain know:Absender ; + rdfs:range xsd:integer . + +know:mailbox a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:Projektereignis know:Rechnungsbeobachtung know:AnhangExtraktion ) ] ; + rdfs:range xsd:string . + +know:match_address a owl:DatatypeProperty ; + rdfs:domain know:Ort ; + rdfs:range xsd:string . + +know:max_session_age_minutes a owl:DatatypeProperty ; + rdfs:domain know:LoginAnbieter ; + rdfs:range xsd:integer . + +know:meeting_transcripts a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:string . + +know:message_id a owl:DatatypeProperty ; + rdfs:domain know:Mail ; + rdfs:range xsd:string . + +know:min_observations_for_skip_ai a owl:DatatypeProperty ; + rdfs:domain know:MailKategorie ; + rdfs:range xsd:integer . + +know:min_tier_rank a owl:DatatypeProperty ; + rdfs:domain know:LlmJob ; + rdfs:range xsd:integer . + +know:missing_documents a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range rdf:JSON . + +know:name a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:string . + +know:nda_present a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:boolean . + +know:next_action a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:string . + +know:next_action_due_at a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:date . + +know:normalized_address a owl:DatatypeProperty ; + rdfs:domain know:Projekt ; + rdfs:range xsd:string . + +know:normalized_name a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:Kontakt know:Ankaufsfall ) ] ; + rdfs:range xsd:string . + +know:normalized_value a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:ProjektAlias know:KontaktAlias ) ] ; + rdfs:range xsd:string . + +know:notar_name a owl:DatatypeProperty ; + rdfs:domain know:Kanzleimandat ; + rdfs:range xsd:string . + +know:notes a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:Ankaufsfall know:LoginAnbieter ) ] ; + rdfs:range xsd:string . + +know:notified_at a owl:DatatypeProperty ; + rdfs:domain know:Hinweis ; + rdfs:range xsd:dateTime . + +know:observation_count a owl:DatatypeProperty ; + rdfs:domain know:Hinweis ; + rdfs:range xsd:integer . + +know:observation_key a owl:DatatypeProperty ; + rdfs:domain know:Absender ; + rdfs:range xsd:string . + +know:offer_count a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:integer . + +know:offer_deadline a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:date . + +know:offer_submitted_at a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:date . + +know:original_json a owl:DatatypeProperty ; + rdfs:domain know:Kaufvertragspruefung ; + rdfs:range rdf:JSON . + +know:original_purchase_price_eur a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:decimal . + +know:outcome_status a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:string . + +know:outlook_category a owl:DatatypeProperty ; + rdfs:domain know:MailKategorie ; + rdfs:range xsd:string . + +know:pattern_value a owl:DatatypeProperty ; + rdfs:domain know:Hinweis ; + rdfs:range xsd:string . + +know:patterns a owl:DatatypeProperty ; + rdfs:domain know:Notarkanzlei ; + rdfs:range rdf:JSON . + +know:pending_notification a owl:DatatypeProperty ; + rdfs:domain know:Hinweis ; + rdfs:range xsd:boolean . + +know:phone a owl:DatatypeProperty ; + rdfs:domain know:Kontakt ; + rdfs:range xsd:string . + +know:pipeline_status a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:string . + +know:place_key a owl:DatatypeProperty ; + rdfs:domain know:Ort ; + rdfs:range xsd:string . + +know:planning a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:string . + +know:preferred_model a owl:DatatypeProperty ; + rdfs:domain know:MailKategorie ; + rdfs:range xsd:string . + +know:priority_level a owl:DatatypeProperty ; + rdfs:domain know:MailKategorie ; + rdfs:range xsd:string . + +know:process_type a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:string . + +know:processing_status a owl:DatatypeProperty ; + rdfs:domain know:Falldokument ; + rdfs:range xsd:string . + +know:project_key a owl:DatatypeProperty ; + rdfs:domain know:Projekt ; + rdfs:range xsd:string . + +know:project_name a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:Projekt know:Kanzleimandat ) ] ; + rdfs:range xsd:string . + +know:project_number a owl:DatatypeProperty ; + rdfs:domain know:Projekt ; + rdfs:range xsd:string . + +know:prompt a owl:DatatypeProperty ; + rdfs:domain know:LlmJob ; + rdfs:range xsd:string . + +know:property_size_sqm a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:decimal . + +know:proposed_decision a owl:DatatypeProperty ; + rdfs:domain know:Entscheidung ; + rdfs:range rdf:JSON . + +know:provenance_json a owl:DatatypeProperty ; + rdfs:domain know:Ort ; + rdfs:range rdf:JSON . + +know:provider a owl:DatatypeProperty ; + rdfs:domain know:Postfachzugriff ; + rdfs:range xsd:string . + +know:provider_id a owl:DatatypeProperty ; + rdfs:domain know:LoginAnbieter ; + rdfs:range xsd:string . + +know:purchase_offer_present a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:boolean . + +know:quality_status a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:ProjektAlias know:Kontakt know:KontaktAlias know:Projektbeteiligung know:Projektereignis know:Ankaufsfall know:Ort know:Entscheidung know:Hinweis ) ] ; + rdfs:range xsd:string . + +know:quelle a owl:DatatypeProperty ; + rdfs:domain know:Projektkuerzel ; + rdfs:range xsd:string . + +know:raw_evidence_json a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:Kontakt know:Ankaufsfall know:Beleg ) ] ; + rdfs:range rdf:JSON . + +know:raw_kanbau_json a owl:DatatypeProperty ; + rdfs:domain know:Projekt ; + rdfs:range rdf:JSON . + +know:raw_signals a owl:DatatypeProperty ; + rdfs:domain know:Mail ; + rdfs:range rdf:JSON . + +know:read_or_write a owl:DatatypeProperty ; + rdfs:domain know:Faehigkeit ; + rdfs:range xsd:string . + +know:readiness_json a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range rdf:JSON . + +know:reason a owl:DatatypeProperty ; + rdfs:domain know:WorkerSperre ; + rdfs:range xsd:string . + +know:received_at a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:Mail know:Falldokument ) ] ; + rdfs:range xsd:dateTime . + +know:refreshed_at a owl:DatatypeProperty ; + rdfs:domain know:Ort ; + rdfs:range xsd:dateTime . + +know:registered_at a owl:DatatypeProperty ; + rdfs:domain know:LlmWorker ; + rdfs:range xsd:dateTime . + +know:registered_domain a owl:DatatypeProperty ; + rdfs:domain know:Domain ; + rdfs:range xsd:string . + +know:relation_key a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:Projektbeteiligung know:Kanzleimandat ) ] ; + rdfs:range xsd:string . + +know:relation_type a owl:DatatypeProperty ; + rdfs:domain know:Projektbeteiligung ; + rdfs:range xsd:string . + +know:relevance_weight a owl:DatatypeProperty ; + rdfs:domain know:MailKategorie ; + rdfs:range xsd:decimal . + +know:request_id a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:AnhangExtraktion know:Kaufvertragspruefung know:Beleg know:Entscheidung know:AgentAusfuehrung ) ] ; + rdfs:range xsd:string . + +know:requires_action a owl:DatatypeProperty ; + rdfs:domain know:MailKategorie ; + rdfs:range xsd:boolean . + +know:requires_approval a owl:DatatypeProperty ; + rdfs:domain know:Faehigkeit ; + rdfs:range xsd:boolean . + +know:reserved_at a owl:DatatypeProperty ; + rdfs:domain know:Beleg ; + rdfs:range xsd:dateTime . + +know:result a owl:DatatypeProperty ; + rdfs:domain know:LlmJob ; + rdfs:range xsd:string . + +know:review_comment a owl:DatatypeProperty ; + rdfs:domain know:Kaufvertragspruefung ; + rdfs:range xsd:string . + +know:review_identity_source a owl:DatatypeProperty ; + rdfs:domain know:Kaufvertragspruefung ; + rdfs:range xsd:string . + +know:review_result a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:string . + +know:review_schema_version a owl:DatatypeProperty ; + rdfs:domain know:Kaufvertragspruefung ; + rdfs:range xsd:string . + +know:review_status a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:Ankaufsfall know:Kaufvertragspruefung ) ] ; + rdfs:range xsd:string . + +know:review_submission_hash a owl:DatatypeProperty ; + rdfs:domain know:Kaufvertragspruefung ; + rdfs:range xsd:string . + +know:reviewed_at a owl:DatatypeProperty ; + rdfs:domain know:Kaufvertragspruefung ; + rdfs:range xsd:dateTime . + +know:reviewed_values_json a owl:DatatypeProperty ; + rdfs:domain know:Kaufvertragspruefung ; + rdfs:range rdf:JSON . + +know:risk_level a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:Ankaufsfall know:Faehigkeit ) ] ; + rdfs:range xsd:string . + +know:risk_summary a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:string . + +know:safety_floor a owl:DatatypeProperty ; + rdfs:domain know:MailKategorie ; + rdfs:range xsd:boolean . + +know:scope a owl:DatatypeProperty ; + rdfs:domain know:Postfachzugriff ; + rdfs:range xsd:string . + +know:sender a owl:DatatypeProperty ; + rdfs:domain know:Projektereignis ; + rdfs:range xsd:string . + +know:session_data a owl:DatatypeProperty ; + rdfs:domain know:BrowserSession ; + rdfs:range rdf:JSON . + +know:short_code a owl:DatatypeProperty ; + rdfs:domain know:Projekt ; + rdfs:range xsd:string . + +know:source a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:Absender know:Domain know:Kontakt ) ] ; + rdfs:range xsd:string . + +know:source_channel a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:string . + +know:source_confidence a owl:DatatypeProperty ; + rdfs:domain know:Kontakt ; + rdfs:range xsd:decimal . + +know:source_party a owl:DatatypeProperty ; + rdfs:domain know:Falldokument ; + rdfs:range xsd:string . + +know:source_path a owl:DatatypeProperty ; + rdfs:domain know:Kontextdokument ; + rdfs:range xsd:string . + +know:source_system a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:string . + +know:source_workflow a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:Postfachzugriff know:ProjektAlias know:KontaktAlias know:Projektbeteiligung know:Projektereignis know:Projektordner know:Rechnungsbeobachtung know:Ort ) ] ; + rdfs:range xsd:string . + +know:start_date a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:date . + +know:status a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:Domain know:Postfachzugriff know:Projekt know:Ankaufsfall know:Beleg know:AgentAusfuehrung know:LlmWorker know:LlmJob ) ] ; + rdfs:range xsd:string . + +know:steps_json a owl:DatatypeProperty ; + rdfs:domain know:LoginAnbieter ; + rdfs:range rdf:JSON . + +know:street a owl:DatatypeProperty ; + rdfs:domain know:Projekt ; + rdfs:range xsd:string . + +know:structured_json a owl:DatatypeProperty ; + rdfs:domain know:AnhangExtraktion ; + rdfs:range rdf:JSON . + +know:subject a owl:DatatypeProperty ; + rdfs:domain know:Mail ; + rdfs:range xsd:string . + +know:subjects_sample a owl:DatatypeProperty ; + rdfs:domain know:Absender ; + rdfs:range rdf:JSON . + +know:suggested_action a owl:DatatypeProperty ; + rdfs:domain know:Hinweis ; + rdfs:range rdf:JSON . + +know:summary a owl:DatatypeProperty ; + rdfs:domain know:Projektereignis ; + rdfs:range xsd:string . + +know:tax_id a owl:DatatypeProperty ; + rdfs:domain know:Kontakt ; + rdfs:range xsd:string . + +know:tier a owl:DatatypeProperty ; + rdfs:domain know:LlmJob ; + rdfs:range xsd:string . + +know:tier_rank a owl:DatatypeProperty ; + rdfs:domain know:LlmWorker ; + rdfs:range xsd:integer . + +know:title a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:Faehigkeit know:Kontextdokument ) ] ; + rdfs:range xsd:string . + +know:token_alg a owl:DatatypeProperty ; + rdfs:domain know:Postfachzugriff ; + rdfs:range xsd:string . + +know:token_ciphertext a owl:DatatypeProperty ; + rdfs:domain know:Postfachzugriff ; + rdfs:range xsd:string . + +know:token_iv a owl:DatatypeProperty ; + rdfs:domain know:Postfachzugriff ; + rdfs:range xsd:string . + +know:token_tag a owl:DatatypeProperty ; + rdfs:domain know:Postfachzugriff ; + rdfs:range xsd:string . + +know:units_json a owl:DatatypeProperty ; + rdfs:domain know:Kaufvertragspruefung ; + rdfs:range rdf:JSON . + +know:unsubscribe_mailto a owl:DatatypeProperty ; + rdfs:domain know:Absender ; + rdfs:range xsd:string . + +know:unsubscribe_one_click a owl:DatatypeProperty ; + rdfs:domain know:Absender ; + rdfs:range xsd:boolean . + +know:unsubscribe_url a owl:DatatypeProperty ; + rdfs:domain know:Absender ; + rdfs:range xsd:string . + +know:uploaded_at a owl:DatatypeProperty ; + rdfs:domain know:Beleg ; + rdfs:range xsd:dateTime . + +know:urgency a owl:DatatypeProperty ; + rdfs:domain know:Projektereignis ; + rdfs:range xsd:string . + +know:user_request a owl:DatatypeProperty ; + rdfs:domain know:AgentAusfuehrung ; + rdfs:range xsd:string . + +know:valid_from a owl:DatatypeProperty ; + rdfs:domain know:Projektbeteiligung ; + rdfs:range xsd:date . + +know:valid_to a owl:DatatypeProperty ; + rdfs:domain know:Projektbeteiligung ; + rdfs:range xsd:date . + +know:validated_at a owl:DatatypeProperty ; + rdfs:domain know:KanbauApiMethode ; + rdfs:range xsd:dateTime . + +know:vat_id a owl:DatatypeProperty ; + rdfs:domain know:Kontakt ; + rdfs:range xsd:string . + +know:verified_at a owl:DatatypeProperty ; + rdfs:domain [ a owl:Class ; owl:unionOf ( know:ProjektAlias know:Kontakt know:Projektordner know:Entscheidung ) ] ; + rdfs:range xsd:dateTime . + +know:website a owl:DatatypeProperty ; + rdfs:domain know:Kontakt ; + rdfs:range xsd:string . + +know:window_from a owl:DatatypeProperty ; + rdfs:domain know:Absender ; + rdfs:range xsd:dateTime . + +know:window_to a owl:DatatypeProperty ; + rdfs:domain know:Absender ; + rdfs:range xsd:dateTime . + +know:wirtschaftlichkeit_present a owl:DatatypeProperty ; + rdfs:domain know:Ankaufsfall ; + rdfs:range xsd:boolean . + +know:workflow_operation a owl:DatatypeProperty ; + rdfs:domain know:Faehigkeit ; + rdfs:range xsd:string . + +know:workflow_status a owl:DatatypeProperty ; + rdfs:domain know:Mail ; + rdfs:range xsd:string . + +know:zip a owl:DatatypeProperty ; + rdfs:domain know:Projekt ; + rdfs:range xsd:string . + +know:Gesellschaft_P_GmbH a owl:NamedIndividual, know:Gesellschaft ; + rdfs:label "P-GmbH" . + +know:Gesellschaft_PplusB_KG a owl:NamedIndividual, know:Gesellschaft ; + rdfs:label "P+B KG" . + +know:MailKategorie_mahnung a owl:NamedIndividual, know:MailKategorie ; + rdfs:label "mahnung" . + +know:MailKategorie_zahlungsaufforderung a owl:NamedIndividual, know:MailKategorie ; + rdfs:label "zahlungsaufforderung" . + +know:MailKategorie_buchhaltung a owl:NamedIndividual, know:MailKategorie ; + rdfs:label "buchhaltung" . + +know:MailKategorie_mangel a owl:NamedIndividual, know:MailKategorie ; + rdfs:label "mangel" . + +know:MailKategorie_newsletter_werbung a owl:NamedIndividual, know:MailKategorie ; + rdfs:label "newsletter_werbung" . + +know:MailKategorie_plattformen a owl:NamedIndividual, know:MailKategorie ; + rdfs:label "plattformen" . + +know:MailKategorie_versand_bestellungen a owl:NamedIndividual, know:MailKategorie ; + rdfs:label "versand_bestellungen" . + +know:MailKategorie_sonstiges a owl:NamedIndividual, know:MailKategorie ; + rdfs:label "sonstiges" . + +know:MailKategorie_default a owl:NamedIndividual, know:MailKategorie ; + rdfs:label "default" . + +know:Tier_basic a owl:NamedIndividual, know:Tier ; + rdfs:label "basic" . + +know:Tier_standard a owl:NamedIndividual, know:Tier ; + rdfs:label "standard" . + +know:Tier_capable a owl:NamedIndividual, know:Tier ; + rdfs:label "capable" . + +know:Tier_expert a owl:NamedIndividual, know:Tier ; + rdfs:label "expert" . + +know:Ereignisart_verzoegerung a owl:NamedIndividual, know:Ereignisart ; + rdfs:label "verzoegerung" . + +know:Ereignisart_mangel a owl:NamedIndividual, know:Ereignisart ; + rdfs:label "mangel" . + +know:Ereignisart_termin a owl:NamedIndividual, know:Ereignisart ; + rdfs:label "termin" . + +know:Ereignisart_kosten a owl:NamedIndividual, know:Ereignisart ; + rdfs:label "kosten" . + +know:Ereignisart_info a owl:NamedIndividual, know:Ereignisart ; + rdfs:label "info" . + +know:Dokumenttyp_expose a owl:NamedIndividual, know:Dokumenttyp ; + rdfs:label "expose" . + +know:Dokumenttyp_bplan a owl:NamedIndividual, know:Dokumenttyp ; + rdfs:label "bplan" . + +know:Dokumenttyp_wirtschaftlichkeitsberechnung a owl:NamedIndividual, know:Dokumenttyp ; + rdfs:label "wirtschaftlichkeitsberechnung" . + +know:Dokumenttyp_kaufangebot a owl:NamedIndividual, know:Dokumenttyp ; + rdfs:label "kaufangebot" . + +know:Dokumenttyp_loi a owl:NamedIndividual, know:Dokumenttyp ; + rdfs:label "loi" . + +know:Dokumenttyp_nda a owl:NamedIndividual, know:Dokumenttyp ; + rdfs:label "nda" . + +know:Dokumenttyp_vertraulichkeitserklaerung a owl:NamedIndividual, know:Dokumenttyp ; + rdfs:label "vertraulichkeitserklaerung" . + +know:Dokumenttyp_telefonnotiz a owl:NamedIndividual, know:Dokumenttyp ; + rdfs:label "telefonnotiz" . + +know:Dokumenttyp_mail a owl:NamedIndividual, know:Dokumenttyp ; + rdfs:label "mail" . + +know:Dokumenttyp_lageplan a owl:NamedIndividual, know:Dokumenttyp ; + rdfs:label "lageplan" . + +know:Dokumenttyp_kataster a owl:NamedIndividual, know:Dokumenttyp ; + rdfs:label "kataster" . + +know:Dokumenttyp_grundbuch a owl:NamedIndividual, know:Dokumenttyp ; + rdfs:label "grundbuch" . + +know:Dokumenttyp_baugenehmigung a owl:NamedIndividual, know:Dokumenttyp ; + rdfs:label "baugenehmigung" . + +know:Dokumenttyp_gutachten a owl:NamedIndividual, know:Dokumenttyp ; + rdfs:label "gutachten" . + +know:Dokumenttyp_pruefplan a owl:NamedIndividual, know:Dokumenttyp ; + rdfs:label "pruefplan" . + +know:Dokumenttyp_fotos a owl:NamedIndividual, know:Dokumenttyp ; + rdfs:label "fotos" . + +know:Dokumenttyp_wettbewerbsunterlagen a owl:NamedIndividual, know:Dokumenttyp ; + rdfs:label "wettbewerbsunterlagen" . + +know:Dokumenttyp_vertrag_notar a owl:NamedIndividual, know:Dokumenttyp ; + rdfs:label "vertrag_notar" . + +know:Dokumenttyp_unknown a owl:NamedIndividual, know:Dokumenttyp ; + rdfs:label "unknown" .