# deutsches Wörterbuch



## XPrototypeX (28. Okt 2012)

Hallo Leute, 

da diese Frage irgendwie nirgendwo richtig hinein passt, poste ich es einfach mal hier. 


Ich brauche ein deutsches Wörterbuch mit Wortart also ob es ein Verb, Nomen etc. ist. Am besten in .txt format. Ich habe auch Wörterbuch API's getestet (Stichwort: JWKTL) jedoch konnte ich damit nicht viel anfangen, da es irgendwie keine gute doc. dazu gibt. 

Wäre über jede hilfe dankbar!


----------



## XHelp (28. Okt 2012)

txt wäre bei dieser Größenmenge ziemlich albern... Du könntest dir mal Wiktionary anschauen: MediaWiki API
_(Bei Wiki-Diensten gibt es auch Offline-Datensätze, wenn du es unbedingt online haben willst)_


----------



## XPrototypeX (28. Okt 2012)

Danke, das ist schonmal ein Anfang. Gibt es noch andere Vorschläge?


----------



## XPrototypeX (28. Okt 2012)

Naja ich denke die JWKTL API ist besser für meine Zwecke. Jedoch kann ich die Informationseite mit der Beschreibung der API nicht öffnen:
JWKTL

Das ist ganz schön blöd, da ich nicht so wirklich weiß wie ich weiter komme. Braucht ich ein  offline Wörterbuch? Wenn ja wieso sind alle Methoden die den File abfragen durchgestrichen und somit veraltet? Ich würde mich über ein get started Anleitung sehr freuen.


----------



## timbeau (29. Okt 2012)

Kommst du denn auch mit Deklinationen klar?

Wenn ich Zeit finde mache ich dir ne Liste bzw ein Java-Prog, welches die Grundformen enthält


----------



## XPrototypeX (29. Okt 2012)

Naja das ist nicht nötig wenn ich diese API zum laufen bringen würde. 
Hier mal mein test code: 

```
package demo;


import java.io.File;
import java.util.List;
import java.util.Locale;

import de.tudarmstadt.ukp.wiktionary.api.Wiktionary;
import de.tudarmstadt.ukp.wiktionary.api.WordEntry;



public class DictoryDemo {

	
	private  final static String DB_PATH =" M:/Java Workspace/Example/dumb.XML/";
	private final static String DIR = "M:/Java Workspace/Example/";

	
	
	


		
		
	
	
	@SuppressWarnings("deprecation")
	public static void main(String[] args) {
	

	

	
	
	
	
//	  Wktionary.parseWiktionaryDump(DB_PATH, DIR, true);
	Wiktionary.parseWiktionaryDump(DB_PATH, DIR, Locale.GERMAN.getLanguage(), true);
	
/*
Beide versionen funktionieren nicht und erzeugen die gleiche Fehlermeldung
*/

	  
	  Wiktionary wiki = new Wiktionary(DIR);
	  
	  List<WordEntry> entries = wiki.getWordEntries("Wiktionary");
      System.out.println(Wiktionary.getEntryInformation(entries));
	
//	wiki.open(file);
	
	List<WordEntry> list = wiki.getWordEntries("hello");
	
	

	}






}
```


meine Fehlermeldung:



> meine Fehlermeldung:
> 
> 
> 
> ...


----------



## Bernd Hohmann (29. Okt 2012)

XPrototypeX hat gesagt.:


> Caused by: java.lang.ClassNotFoundException: org.apache.tools.bzip2.CBZip2InputStream



Steht doch da: Du brauchst noch den CBZip2InputStream von den Apache-Tools. Keine Ahnung in welcher Lib das steckt, sollte sich aber herausfinden lassen.

Bernd


----------



## XPrototypeX (29. Okt 2012)

So an alle die es interessiert. 

Man braucht zusätzlich noch die Oracle sleepycat API ab version 4.xxx unter 4 funktioniert es nicht. 

Die dump files bekommt ihr von Database dump progress

dewikition sind die files für das deutsche Wörterbuch. Als dumpfiles eignen sich Articles, templates, media/file descriptions, and primary meta-pages. am besten. Die files werden im Dateiformat xml.bz2 benötigt. Also nicht die zip laden. Als Pfad die entpackte .xml angeben. Die gezippte sollte auch gehen, jedoch funktioniert das bei mir nicht.

Hier mal eine kleine demo: 


```
package demo;


import java.io.File;
import java.util.List;


import de.tudarmstadt.ukp.wiktionary.api.Wiktionary;
import de.tudarmstadt.ukp.wiktionary.api.WordEntry;
import de.tudarmstadt.ukp.wiktionary.parser.WiktionaryArticleParser;



public class DictoryDemo {

	
	private  final static File DB_PATH = new File("M:/Java Workspace/Example/dump.xml");
	private final static File DIR =  new File("M:/Java Workspace/Example/db");
	
	
	/*
	 * parseFile: die XML die es zu parsen gilt
	 * desDir: ziel ordner hier wird die db erstellt 
	 */
	
	public boolean parseFile(File parseFile, File desDir){
		boolean isWorking = false;
		
		try {
			
			//Boolean: sollen bestehende daten überschrieben werden? 
			WiktionaryArticleParser xmlParser = new WiktionaryArticleParser(DIR, false);
			xmlParser.parse(DB_PATH);
			

			isWorking = true; 
			
		} catch (Exception e) {
			
		System.out.println(e);
		
		isWorking = false; 
		}
		
		return isWorking;
	}
	
	
	
public void searchWordInDic(String word){
//	System.out.println(DB_PATH.isFile());
//	
	 
	
//	Wiktionary.parseWiktionaryDump(DB_PATH, DIR, true);
	
	 Wiktionary wiki = new Wiktionary();
	 
	 wiki.open(DIR);
	 
	
	 
	 List<WordEntry> entries = wiki.getWordEntries(word);
	 
	 //wirft alle ergebnisse für das gefundene wort aus
	 System.out.println(Wiktionary.getEntryInformation(entries));
   

     
     wiki.close();
     
}

		
		
	
	
	
	public static void main(String[] args) {
	

	
		 
	DictoryDemo demo = new DictoryDemo();
	demo.parseFile(DB_PATH, DIR);
	demo.searchWordInDic("lesen");
	
	
	

	  
	}	  
	 
}
```


----------

