<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.bzz.ch/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://wiki.bzz.ch/feed.php">
        <title>BZZ - Modulwiki - de:modul:ffit:3-jahr:java:learningunits:lu13</title>
        <description></description>
        <link>https://wiki.bzz.ch/</link>
        <image rdf:resource="https://wiki.bzz.ch/_media/wiki/logo.png" />
       <dc:date>2026-04-23T14:03:33+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wiki.bzz.ch/de/modul/ffit/3-jahr/java/learningunits/lu13/a?rev=1764635973&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.bzz.ch/de/modul/ffit/3-jahr/java/learningunits/lu13/b?rev=1764635960&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.bzz.ch/de/modul/ffit/3-jahr/java/learningunits/lu13/c?rev=1764636640&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.bzz.ch/de/modul/ffit/3-jahr/java/learningunits/lu13/d?rev=1764637400&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.bzz.ch/de/modul/ffit/3-jahr/java/learningunits/lu13/start?rev=1764059140&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://wiki.bzz.ch/_media/wiki/logo.png">
        <title>BZZ - Modulwiki</title>
        <link>https://wiki.bzz.ch/</link>
        <url>https://wiki.bzz.ch/_media/wiki/logo.png</url>
    </image>
    <item rdf:about="https://wiki.bzz.ch/de/modul/ffit/3-jahr/java/learningunits/lu13/a?rev=1764635973&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-12-02T00:39:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LU13a - Crawler Aufbau Teil 1</title>
        <link>https://wiki.bzz.ch/de/modul/ffit/3-jahr/java/learningunits/lu13/a?rev=1764635973&amp;do=diff</link>
        <description>LU13a - Crawler Aufbau Teil 1

Damit alle relevanten Seiten von DokuWiki (&lt;https://wiki.bzz.ch&gt;) heruntergeladen werden können, nutzen wir eine Kombination aus Collector, Downloader und Orchestrator. 

WikiPageDownloaderService

Der WikiPageDownloaderService lädt den Inhalt einer Seite via XML-RPC herunter. Das hat mitunter zur Folge, dass kein</description>
    </item>
    <item rdf:about="https://wiki.bzz.ch/de/modul/ffit/3-jahr/java/learningunits/lu13/b?rev=1764635960&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-12-02T00:39:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LU13b - Crawler Aufbau Teil 2</title>
        <link>https://wiki.bzz.ch/de/modul/ffit/3-jahr/java/learningunits/lu13/b?rev=1764635960&amp;do=diff</link>
        <description>LU13b - Crawler Aufbau Teil 2

WikiPageCollectorService

Der WikiPageCollectorService sammelt die URLs von den Seiten, die heruntergeladen werden sollen. 

Der Benutzer soll einen Unterordner beziehungsweise einen „Namespace“ angeben können und sämtliche darunterliegenden Seiten sollen rekursiv gesammelt werden.</description>
    </item>
    <item rdf:about="https://wiki.bzz.ch/de/modul/ffit/3-jahr/java/learningunits/lu13/c?rev=1764636640&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-12-02T00:50:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LU13c - Filter 1: Regex</title>
        <link>https://wiki.bzz.ch/de/modul/ffit/3-jahr/java/learningunits/lu13/c?rev=1764636640&amp;do=diff</link>
        <description>LU13c - Filter 1: Regex

Ein Regex (regular expression) ist ein mächtiges Werkzeug, um einen Filter zu definieren.
Der folgende Ausdruck trifft zum Beispiel auf alle Strings zu, die nicht auf „/start“ enden.

^(?!.*\/start$).*

&lt;https://regex101.com/&gt; ist eine sehr praktische Seite, um Regex zu erstellen, zu analysieren und zu testen.</description>
    </item>
    <item rdf:about="https://wiki.bzz.ch/de/modul/ffit/3-jahr/java/learningunits/lu13/d?rev=1764637400&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-12-02T01:03:20+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LU13d - Filter 2: JSONB</title>
        <link>https://wiki.bzz.ch/de/modul/ffit/3-jahr/java/learningunits/lu13/d?rev=1764637400&amp;do=diff</link>
        <description>LU13d - Filter 2: JSONB

Aktuell nutzen wir den Datentyp JSONB, um die Metadatenzuspeichern.


CREATE TABLE IF NOT EXISTS vector_store (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    content TEXT NOT NULL,
    embedding vector(%d),
    metadata JSONB
);</description>
    </item>
    <item rdf:about="https://wiki.bzz.ch/de/modul/ffit/3-jahr/java/learningunits/lu13/start?rev=1764059140&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-11-25T08:25:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>LU13 - RAG Chatbot (DokuWiki-Crawler)</title>
        <link>https://wiki.bzz.ch/de/modul/ffit/3-jahr/java/learningunits/lu13/start?rev=1764059140&amp;do=diff</link>
        <description>LU13 - RAG Chatbot (DokuWiki-Crawler)


	* LU13a - Crawler Aufbau Teil 1
	* LU13b - Crawler Aufbau Teil 2
	* LU13c - Filter 1: Regex
	* LU13d - Filter 2: JSONB



Aufgaben


	* LU13.A01 XML-RPC Page Downloader
	* LU13.A02 Ajax Page Collector
	* LU13.A03 Crawler Pipeline
	* LU13.A04 Knowledge Base testen



Lösungen


Keine Seiten in diesem Namensraum.</description>
    </item>
</rdf:RDF>
