<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Datalog</id>
	<title>Datalog - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Datalog"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Datalog&amp;action=history"/>
	<updated>2026-05-30T12:50:09Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Datalog&amp;diff=504319&amp;oldid=prev</id>
		<title>147.96.60.219: /* Weblinks */</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Datalog&amp;diff=504319&amp;oldid=prev"/>
		<updated>2024-04-12T08:15:36Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Weblinks&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Datalog&amp;#039;&amp;#039;&amp;#039; ist eine [[Datenbank]]-[[Programmiersprache]] für [[deduktive Datenbank]]en, die [[Prolog (Programmiersprache)|Prolog]] syntaktisch und semantisch ähnelt.&lt;br /&gt;
&lt;br /&gt;
Sie geht zurück auf die Arbeit von [[Herve Gallaire]] und [[Jack Minker]] im Jahr 1978.&amp;lt;ref name=&amp;quot;DatalogUrsprung&amp;quot;&amp;gt;&amp;#039;&amp;#039;Logic and Data Bases&amp;#039;&amp;#039;. Symposium on Logic and Data Bases, Centre d’études et de recherches de Toulouse in „Advances in Data Base Theory“. Plenum Press, New York 1978&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Datalog unterscheidet sich von Prolog in den folgenden Punkten:&lt;br /&gt;
&lt;br /&gt;
:# Zusammengesetzte Terme dürfen nicht als Argumente von Prädikaten vorkommen. So ist zum Beispiel &amp;lt;math&amp;gt;P(1, 2)&amp;lt;/math&amp;gt; erlaubt, &amp;lt;math&amp;gt;P(f(1), 2)&amp;lt;/math&amp;gt; dagegen verboten.&lt;br /&gt;
:# In Datalog geschriebene Programme müssen im Hinblick auf Negation und Rekursion [[Stratifikation (Mathematik)|stratifiziert]] sein.&lt;br /&gt;
:# Datalog-Programme können effizient bottom-up ausgewertet werden, wobei nur eine endliche Menge an Fakten abgeleitet werden kann und die Auswertungszeit beschränkt ist.&lt;br /&gt;
:# Die Reihenfolge der Regeln spielt in einem Datalog-Programm keine Rolle.&lt;br /&gt;
&lt;br /&gt;
Ein Vorteil gegenüber relationalen Kalkülen ist die Möglichkeit, [[Rekursion]] ohne vorgegebene Rekursionstiefe definieren zu können. Die Terminierung der Rekursion kann durch [[Axiomensystem|deduktive Abgeschlossenheit]] erreicht werden, also durch Erreichen des kleinsten Fixpunktes.&lt;br /&gt;
&lt;br /&gt;
Derzeit entwickeln Forscher auf Basis von Datalog, das für extreme Parallelität geeignet ist, die Programmiersprache [[Boom (Programmiersprache)|Boom]]&amp;lt;ref name=&amp;quot;BOOM&amp;quot;&amp;gt;[https://www2.eecs.berkeley.edu/Research/Projects/Data/105733.html &amp;#039;&amp;#039;BOOM: Generating Big Clouds from Small Programs&amp;#039;&amp;#039;.] 23. Dezember 2009&amp;lt;/ref&amp;gt; für die effiziente Nutzung im [[Cloud Computing]].&amp;lt;ref name=&amp;quot;CodeWolke&amp;quot;&amp;gt;[https://www.heise.de/tr/artikel/Besserer-Code-fuer-die-Wolke-891230.html &amp;#039;&amp;#039;Besserer Code für die Wolke&amp;#039;&amp;#039;.] heise.de; Technology Review online, 23. Dezember 2009&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispiel-Programm ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;prolog&amp;quot;&amp;gt;&lt;br /&gt;
% koeln ist mit duesseldorf verbunden&lt;br /&gt;
verbunden(koeln,duesseldorf).&lt;br /&gt;
% duesseldorf ist mit dortmund verbunden&lt;br /&gt;
verbunden(duesseldorf,dortmund).&lt;br /&gt;
% hannover ist mit dortmund verbunden&lt;br /&gt;
verbunden(hannover,dortmund).&lt;br /&gt;
% wenn X mit Y verbunden ist, dann auch Y mit X&lt;br /&gt;
verbunden(Y,X) :- verbunden(X,Y).&lt;br /&gt;
% X ist mit Z verbunden, wenn X mit einem beliebigen Y verbunden ist, das wiederum mit Z verbunden ist&lt;br /&gt;
verbunden(X,Z) :- verbunden(X,Y),verbunden(Y,Z).&lt;br /&gt;
% Anfrage: Ist koeln mit hannover verbunden?&lt;br /&gt;
?- verbunden(koeln,hannover)?&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [https://des.sourceforge.net/ Datalog Educational System]&lt;br /&gt;
* [https://sourceforge.net/projects/datalog datalog - a lightweight deductive database system]&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Datenbanksprache]]&lt;br /&gt;
[[Kategorie:Logische Programmiersprache]]&lt;/div&gt;</summary>
		<author><name>147.96.60.219</name></author>
	</entry>
</feed>