Ich schicke deine Mail mal noch als CC an die Mailing Liste.
Wie kann ich einstellen, damit zwei XML-Dateien mit dem gleichen Namen aber mit verschiedenen Pfäden in einer Datenbank gespeichert werden?
Das funktioniert mit Hilfe von Collections. Du kannst folgendermassen Dokumente zu einer Collection hinzufuegen:
1. Falls alle Dokumente in einem Verzeichnis liegen kannst du aus dem obersten Ordner per Create Command eine Datenbank erstellen [1].
2. Zu einer bestehenden Collection kannst du ein Dokument hinzufuegen per XQuery Update, z.B.:
insert node doc(<uri>) into doc(<collection name>)
... oder ueber den BaseX Command Add [2].
Dokumente mit gleichem Namen aber unterschiedlichem Pfad kannst du mit Hilfe von document-uri() auseinanderhalten - siehe Beispiel:
for $i in collection() return document-uri($i)
Ich hoffe dir ist damit geholfen. Ich leite die Mail ebenfalls an die Liste weiter, damit mich andere korrigieren oder etwas hinzufuegen koennen.
Gruesse, Lukas
[1] http://www.inf.uni-konstanz.de/dbis/basex/commands#create [2] http://www.inf.uni-konstanz.de/dbis/basex/commands#add
Hallo Lukas,
es funktioniert leider nicht. Hab die folgenden Befehle probiert:
create coll test1 add C:\Users\BeEo\Desktop\Root\Package1\ODFProject3.xml add C:\Users\BeEo\Desktop\Root\Package\ODFProject2.xml
Die Ergebnisse der Ausführung es Befehls "for $i in collection(test1) return document-uri($i)" sind:
file:/D:/Temp/ODFProject2.xml file:/D:/Temp/ODFProject3.xml
Die Pfad-Informationen gehen verloren.
Gruß An
2010/8/10 Lukas Kircher lukaskircher1@googlemail.com:
Ich schicke deine Mail mal noch als CC an die Mailing Liste.
Wie kann ich einstellen, damit zwei XML-Dateien mit dem gleichen Namen aber mit verschiedenen Pfäden in einer Datenbank gespeichert werden?
Das funktioniert mit Hilfe von Collections. Du kannst folgendermassen Dokumente zu einer Collection hinzufuegen:
- Falls alle Dokumente in einem Verzeichnis liegen kannst du aus dem
obersten Ordner per Create Command eine Datenbank erstellen [1]. 2. Zu einer bestehenden Collection kannst du ein Dokument hinzufuegen per XQuery Update, z.B.: insert node doc(<uri>) into doc(<collection name>) ... oder ueber den BaseX Command Add [2].
Dokumente mit gleichem Namen aber unterschiedlichem Pfad kannst du mit Hilfe von document-uri() auseinanderhalten - siehe Beispiel: for $i in collection() return document-uri($i)
Ich hoffe dir ist damit geholfen. Ich leite die Mail ebenfalls an die Liste weiter, damit mich andere korrigieren oder etwas hinzufuegen koennen.
Gruesse, Lukas
[1] http://www.inf.uni-konstanz.de/dbis/basex/commands#create [2] http://www.inf.uni-konstanz.de/dbis/basex/commands#add
Hallo An,
von der Logik her ist dein Ansatz richtig, allerdings werden einzelne Dokumente immer im Root der Datenbank eingefügt. Wenn du eine Ordnerhierarchie hinzufügst wird der relative Pfad der Dokumente zur Wurzel der Hierarchie gespeichert: Ein:
add C:\Users\BeEo\Desktop\Root
Resultiert in: db(test1) mit den Dokumenten: Package1/ODFProject3.xml Package/ODFProject2.xml
Alternativ kannst du beim Add Kommando ein zusätzliches Argument `TO`:
ADD (AS [name]) (TO [target]) [input]
angeben:
add TO Package1/abc C:\Users\BeEo\Desktop\Root\Package1\ODFProject3.xml
Somit kannst du die Pfadhierarchie entweder selbst bestimmen oder relativ zum Rootpfad der eingefügten Ordnerstruktur erstellen lassen.
Zum Anfragen von Dokumenten in Collections könnte vielleicht folgender Mailinglistenpost (+ follow ups) noch interessant sein: https://mailman.uni-konstanz.de/pipermail/basex-talk/2010-July/000495.html Ich hoffe ich konnte helfen, bei weiteren Fragen einfach melden.
Freundliche Grüße,
Michael Am 10.08.2010 um 16:03 schrieb Truong An Nguyen:
Hallo Lukas,
es funktioniert leider nicht. Hab die folgenden Befehle probiert:
create coll test1 add C:\Users\BeEo\Desktop\Root\Package1\ODFProject3.xml add C:\Users\BeEo\Desktop\Root\Package\ODFProject2.xml
Die Ergebnisse der Ausführung es Befehls "for $i in collection(test1) return document-uri($i)" sind:
file:/D:/Temp/ODFProject2.xml file:/D:/Temp/ODFProject3.xml
Die Pfad-Informationen gehen verloren.
Gruß An
2010/8/10 Lukas Kircher lukaskircher1@googlemail.com:
Ich schicke deine Mail mal noch als CC an die Mailing Liste.
Wie kann ich einstellen, damit zwei XML-Dateien mit dem gleichen Namen aber mit verschiedenen Pfäden in einer Datenbank gespeichert werden?
Das funktioniert mit Hilfe von Collections. Du kannst folgendermassen Dokumente zu einer Collection hinzufuegen:
- Falls alle Dokumente in einem Verzeichnis liegen kannst du aus dem
obersten Ordner per Create Command eine Datenbank erstellen [1]. 2. Zu einer bestehenden Collection kannst du ein Dokument hinzufuegen per XQuery Update, z.B.: insert node doc(<uri>) into doc(<collection name>) ... oder ueber den BaseX Command Add [2].
Dokumente mit gleichem Namen aber unterschiedlichem Pfad kannst du mit Hilfe von document-uri() auseinanderhalten - siehe Beispiel: for $i in collection() return document-uri($i)
Ich hoffe dir ist damit geholfen. Ich leite die Mail ebenfalls an die Liste weiter, damit mich andere korrigieren oder etwas hinzufuegen koennen.
Gruesse, Lukas
[1] http://www.inf.uni-konstanz.de/dbis/basex/commands#create [2] http://www.inf.uni-konstanz.de/dbis/basex/commands#add
BaseX-Talk mailing list BaseX-Talk@mailman.uni-konstanz.de https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk
Hallo,
die Basex Version 6.1 hat diese Feature nicht. Welche Version soll ich verwenden?
Vielen Dank für eure Bemühungen.
Gruß An
2010/8/11 Michael Seiferle michael.seiferle@uni-konstanz.de:
Hallo An, von der Logik her ist dein Ansatz richtig, allerdings werden einzelne Dokumente immer im Root der Datenbank eingefügt. Wenn du eine Ordnerhierarchie hinzufügst wird der relative Pfad der Dokumente zur Wurzel der Hierarchie gespeichert: Ein:
add C:\Users\BeEo\Desktop\Root
Resultiert in: db(test1) mit den Dokumenten: Package1/ODFProject3.xml Package/ODFProject2.xml Alternativ kannst du beim Add Kommando ein zusätzliches Argument `TO`:
ADD (AS [name]) (TO [target]) [input]
angeben:
add TO Package1/abc C:\Users\BeEo\Desktop\Root\Package1\ODFProject3.xml
Somit kannst du die Pfadhierarchie entweder selbst bestimmen oder relativ zum Rootpfad der eingefügten Ordnerstruktur erstellen lassen. Zum Anfragen von Dokumenten in Collections könnte vielleicht folgender Mailinglistenpost (+ follow ups) noch interessant sein: https://mailman.uni-konstanz.de/pipermail/basex-talk/2010-July/000495.html Ich hoffe ich konnte helfen, bei weiteren Fragen einfach melden. Freundliche Grüße, Michael Am 10.08.2010 um 16:03 schrieb Truong An Nguyen:
Hallo Lukas,
es funktioniert leider nicht. Hab die folgenden Befehle probiert:
create coll test1 add C:\Users\BeEo\Desktop\Root\Package1\ODFProject3.xml add C:\Users\BeEo\Desktop\Root\Package\ODFProject2.xml
Die Ergebnisse der Ausführung es Befehls "for $i in collection(test1) return document-uri($i)" sind:
file:/D:/Temp/ODFProject2.xml file:/D:/Temp/ODFProject3.xml
Die Pfad-Informationen gehen verloren.
Gruß An
2010/8/10 Lukas Kircher lukaskircher1@googlemail.com:
Ich schicke deine Mail mal noch als CC an die Mailing Liste.
Wie kann ich einstellen, damit zwei XML-Dateien mit dem gleichen Namen
aber mit verschiedenen Pfäden in einer Datenbank gespeichert werden?
Das funktioniert mit Hilfe von Collections. Du kannst folgendermassen
Dokumente zu einer Collection hinzufuegen:
- Falls alle Dokumente in einem Verzeichnis liegen kannst du aus dem
obersten Ordner per Create Command eine Datenbank erstellen [1].
- Zu einer bestehenden Collection kannst du ein Dokument hinzufuegen per
XQuery Update, z.B.:
insert node doc(<uri>) into doc(<collection name>)
... oder ueber den BaseX Command Add [2].
Dokumente mit gleichem Namen aber unterschiedlichem Pfad kannst du mit Hilfe
von document-uri() auseinanderhalten - siehe Beispiel:
for $i in collection() return document-uri($i)
Ich hoffe dir ist damit geholfen. Ich leite die Mail ebenfalls an die Liste
weiter, damit mich andere korrigieren oder etwas hinzufuegen koennen.
Gruesse,
Lukas
[1] http://www.inf.uni-konstanz.de/dbis/basex/commands#create
[2] http://www.inf.uni-konstanz.de/dbis/basex/commands#add
BaseX-Talk mailing list BaseX-Talk@mailman.uni-konstanz.de https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk
Hi An,
oh sorry, ich schicke dir Anbei den Link zur aktuellen Version aus dem SVN-Repository. http://www.inf.uni-konstanz.de/dbis/basex/maven/org/basex/basex/6.2/basex-6.... ich bin im Moment unterwegs, deswegen kann ich nicht testen ob es mit dieser Version schon funktioniert. Falls nicht gib mir Bescheid, dann baue ich dir ein JAR aus der aktuellen Entwicklungsversion.
Viele Grüße Michael Am 13.08.2010 um 13:45 schrieb Truong An Nguyen:
Hallo,
die Basex Version 6.1 hat diese Feature nicht. Welche Version soll ich verwenden?
Vielen Dank für eure Bemühungen.
Gruß An
2010/8/11 Michael Seiferle michael.seiferle@uni-konstanz.de:
Hallo An, von der Logik her ist dein Ansatz richtig, allerdings werden einzelne Dokumente immer im Root der Datenbank eingefügt. Wenn du eine Ordnerhierarchie hinzufügst wird der relative Pfad der Dokumente zur Wurzel der Hierarchie gespeichert: Ein:
add C:\Users\BeEo\Desktop\Root
Resultiert in: db(test1) mit den Dokumenten: Package1/ODFProject3.xml Package/ODFProject2.xml Alternativ kannst du beim Add Kommando ein zusätzliches Argument `TO`:
ADD (AS [name]) (TO [target]) [input]
angeben:
add TO Package1/abc C:\Users\BeEo\Desktop\Root\Package1\ODFProject3.xml
Somit kannst du die Pfadhierarchie entweder selbst bestimmen oder relativ zum Rootpfad der eingefügten Ordnerstruktur erstellen lassen. Zum Anfragen von Dokumenten in Collections könnte vielleicht folgender Mailinglistenpost (+ follow ups) noch interessant sein: https://mailman.uni-konstanz.de/pipermail/basex-talk/2010-July/000495.html Ich hoffe ich konnte helfen, bei weiteren Fragen einfach melden. Freundliche Grüße, Michael Am 10.08.2010 um 16:03 schrieb Truong An Nguyen:
Hallo Lukas,
es funktioniert leider nicht. Hab die folgenden Befehle probiert:
create coll test1 add C:\Users\BeEo\Desktop\Root\Package1\ODFProject3.xml add C:\Users\BeEo\Desktop\Root\Package\ODFProject2.xml
Die Ergebnisse der Ausführung es Befehls "for $i in collection(test1) return document-uri($i)" sind:
file:/D:/Temp/ODFProject2.xml file:/D:/Temp/ODFProject3.xml
Die Pfad-Informationen gehen verloren.
Gruß An
2010/8/10 Lukas Kircher lukaskircher1@googlemail.com:
Ich schicke deine Mail mal noch als CC an die Mailing Liste.
Wie kann ich einstellen, damit zwei XML-Dateien mit dem gleichen Namen
aber mit verschiedenen Pfäden in einer Datenbank gespeichert werden?
Das funktioniert mit Hilfe von Collections. Du kannst folgendermassen
Dokumente zu einer Collection hinzufuegen:
- Falls alle Dokumente in einem Verzeichnis liegen kannst du aus dem
obersten Ordner per Create Command eine Datenbank erstellen [1].
- Zu einer bestehenden Collection kannst du ein Dokument hinzufuegen per
XQuery Update, z.B.:
insert node doc(<uri>) into doc(<collection name>)
... oder ueber den BaseX Command Add [2].
Dokumente mit gleichem Namen aber unterschiedlichem Pfad kannst du mit Hilfe
von document-uri() auseinanderhalten - siehe Beispiel:
for $i in collection() return document-uri($i)
Ich hoffe dir ist damit geholfen. Ich leite die Mail ebenfalls an die Liste
weiter, damit mich andere korrigieren oder etwas hinzufuegen koennen.
Gruesse,
Lukas
[1] http://www.inf.uni-konstanz.de/dbis/basex/commands#create
[2] http://www.inf.uni-konstanz.de/dbis/basex/commands#add
BaseX-Talk mailing list BaseX-Talk@mailman.uni-konstanz.de https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk
basex-talk@mailman.uni-konstanz.de