2017-12-27 6 views
3

Ich plane SWI Prolog Programm (semantischer Parser für natürliche Sprache), das eine riesige und dynamische Menge von Fakten hat (Lexikon mit etwa 30.000 Einträgen). Ist es möglich, diese Fakten in einer externen Datenbank zu speichern? Aufgrund anderer Anforderungen betrachte ich Apache TinkerPop/JanusGraph/Cassandra als meine Datenbank, aber ich kann auch mit der SQL/JDBC/ODBC-Datenbank zufrieden sein.Kann SWI Prolog-Programm seine Fakten aus der externen Datenbank abrufen?

+3

Sie haben das Handbuch nicht überprüft? Es gibt Verbindungen zu [Berkeley DB] (http://www.swi-prolog.org/pldoc/doc_for?object=section (% 27packages/bdb4pl.html% 27)), [ODBC] (http: // www. swi-prolog.org/pldoc/doc_for?object=section(%27packages/odbc.html%27)) und einige andere Optionen. Aber ich stimme mit anderen Plakaten überein, dass 30k Lex Einträge nicht sehr viel klingen. –

Antwort

5

Ja, ist dies natürlich möglich und sogar über mehrere verschiedene Ansätze:

Ein Straight-Forward-Ansatz ist Steckdosen oder Rohre verwenden mit einer externen Datenbank zu kommunizieren.

Ein anderer Ansatz besteht darin, die C-Schnittstelle von SWI-Prolog und die API der externen Datenbank zu verwenden.

Noch ein anderer Ansatz CQL, ein hochrangiges Einschränkung Schnittstelle, die auf natürliche Weise mit Prolog   Code zu verwenden, mischt.

Other than that, eine Datenbank mit 30   000 Einträge ist nichts, so kann man sehr einfach wahrscheinlich Prolog   Fakten verwenden und bleiben vollständig innerhalb   Prolog, ohne externe Abhängigkeiten.

Verwandte Themen