# nepomuksearch

## Übersicht

Das Protokoll nepomuksearch ermöglicht die Suche nach Dateien und anderen Ressourcen im Nepomuk-Metadatenspeicher. Die Suche nach Dateien ist der wichtigste Anwendungsfall, da es sich hier um ein virtuelles Dateisystem handelt.

Das Nepomuk-System muss für diese Suche aktiviert sein. Ist außerdem die Strigi-Datei-Indizierung eingeschaltet, ergibt eine Suche bessere Ergebnisse und es bestehen erheblich mehr Suchmöglichkeiten.

Normalerweise wird nepomuksearch in Programmen wie Dolphin verwendet, unbemerkt durch den Benutzer. Diese Programme stellen eine grafische Bedienungsoberfläche bereit, um Abfragen und zugehörige Addressen (Url) einzugeben. Es ist aber auch möglich eine Abfrage manuell zu schreiben. Es gibt zwei unterschiedliche Möglichkeiten, auf die hingewiesen wird. Beachten Sie dass die hier im Folgenden gezeigten Abfragen nicht auf Dateien begrenzt sind.

`nepomuksearch:/?query=Nepomuk`

- sucht nach allen Daten, die das Wort „Nepomuk“ enthalten. „Nepomuk“ kann dabei durch alle Begriffe ersetzt werden, die in der einfachen query_syntax erlaubt sind.

`nepomuksearch:/?sparql=select ?r where { ?r nao:hasTag ?tag . ?tag nao:prefLabel 'Nepomuk'^^xsd:string . }`

- führt die SPARQL-Abfrage durch, die in diesem Fall nach allen Ressourcen mit dem Stichwort „Nepomuk“ sucht. Beachten Sie, dass die Abfrage mit „%“-Zeichen maskiert werden muss, &ie; eine URI wie `<http://www.semanticdesktop.org/ontologies/2007/08/15/nao#Tag>` muss als `%3chttp:%2f%2fwww.semanticdesktop.org%2fontologies%2f2007%2f08%2f15%2fnao#Tag%3e` geschrieben werden.

## Syntax der Nepomuk-Abfrage

Die Syntax ist recht einfach. Mehrere Abfrageausdrücke können mit den Schlüsselwörtern `AND` oder `OR` verbunden werden. Durch ein vorangestelltes Minuszeichen werden Ausdrücke von der Suche ausgeschlossen. Bestimmte Eigenschaften können durch die Kombination des Eigenschaftsnamens und einem Vergleich mit einem Wert gesucht werden.

Diese Syntax kann auch in Standardsuchfeldern wie z. B. in Dolphin verwendet werden.

### Beispiele

`Nepomuk KDE` oder `Nepomuk AND KDE`

- sucht nach Allem, das die Wörter „Nepomuk“ und „KDE“ in irgendeiner ihrer Eigenschaften enthält, das schließt auch den Inhalt von Dateien ein.

`Nepomuk OR KDE`

- sucht nach Allem, das entweder das Wort „Nepomuk“ oder das Wort „KDE“ in irgendeiner ihrer Eigenschaften enthält.

`"Nepomuk KDE"`

- sucht nach Allem, das genau den Begriff „Nepomuk KDE“ in irgendeiner ihrer Eigenschaften enthält.

`hastag:Nepomuk`

- sucht nach Allem mit dem Stichwort „Nepomuk“

`+hastag:nepomuk AND -hastag:scribo`

- sucht nach Allem mit dem Stichwort „Nepomuk“, aber ohne das Stichwort „scribo“.