Für ein Projekt, an dem ich gerade arbeite, möchte ich WordNet verwenden, um eine linguistische Klassifizierung von Benutzereingaben vorzunehmen, und ich möchte die Prolog-Version der Datenbank verwenden.C# und Prolog integrieren
Ich habe versucht P#, die einigermaßen gut funktioniert, aber scheint nicht in der Lage, die schiere Größe der WordNet-Datenbanken zu behandeln. Es kann die kleinste der Dateien kompilieren, die ich verwenden möchte (218 kB), aber wenn ich versuche, die zwei größeren Dateien zu kompilieren (2,3 bzw. 7,3 MB), scheitert es nach etwa einer halben Stunde Arbeit und Windows öffnet die " Es ist ein Fehler aufgetreten. Senden Sie den Bericht an Microsoft? " Dialog.
Ich habe auch versucht Prolog.Net, die gerade scheint nicht sehr gut zu funktionieren.
Schließlich habe ich versucht, die C# bindings für SWI-Prolog, aber kann sie nicht richtig funktionieren. Wenn ich versuche, den Beispielcode auszuführen, scheitert es an dem PLEngine.Initialise()
Schritt, der behauptet, dass etwas, das es versucht (eine DLL, die ich übernehme) zu laden, eine ungültige Win32-Anwendung (eine BadImageFormatException) ist.
Hat jemand irgendwelche Vorschläge für andere Möglichkeiten, C# und Prolog zu integrieren, oder einige Vorschläge, um die Lösungen zu bekommen, die ich bereits versucht habe zu arbeiten? Betriebssystem ist Windows Server 2008 (64 Bit), SWI Prolog ist Version 5.7.11.
Vom Fehler ich vermute, dass Sie vielleicht einen 32-64bit Konflikt haben, versuchen Sie, alles als ein 32bit Zeug vielleicht zu kompilieren und zu sehen, was passiert. –
Ähnliche Fragen, die mehr Alternativen auflistet: http://StackOverflow.com/Questions/181855/integrating-Prolog-with-C – ThomasH
Übrigens, Martins Antwort gegeben, haben Sie versucht, P # mit x64 zu kompilieren und sehen, ob das geholfen hat? – Enigmativity