2012-04-12 6 views
1

Können wir eine Relation innerhalb einer Relation haben, die in Prolog definiert ist?Beziehung innerhalb einer Relation Prolog

wie ich habe eine Beziehung wie unten definiert:

relation(CctypeInt,[0-{2,3,4}, 1-{2,3,4}, 2-{2}],Ru1),!. 

jetzt gibt es eine weitere Variable, die auf beiden CctypeInt dependeant und Ru1

so denke ich an so etwas wie

relation(cctypeint,relation(ru1,...,ru2)) 

ist das möglich?

+0

Eine gute Sache wäre, Kontext zu Ihrer Frage hinzuzufügen. Was versuchst du zu erreichen? – m09

Antwort

3

Beziehungen werden durch Prädikate in Prolog definiert. Es gibt keine eingebaute (syntaktische) Möglichkeit, Prädikate innerhalb von Prädikaten im Programmtext zu definieren, aber es scheint keinen Grund zu geben, dies zu tun. Sie können einfach separate Prädikate schreiben und sich darauf beziehen. Sie können natürlich geschachtelte Begriffe haben, das sind Begriffe als Unterbegriffe anderer Begriffe.

Was meinen Sie mit

relation(CctypeInt,[0-{2,3,4}, 1-{2,3,4}, 2-{2}],Ru1),!. 

? Dies ist eine Klausel, die etwas über das Prädikat (,)/2 aussagt, was meiner Meinung nach die Absicht war. Auf der anderen Seite können Sie natürlich einen Prolog-Begriff wie

in Ihren Programmen erstellen und verwenden, um Ihre Daten zu repräsentieren.

+0

, könnten Sie mir ein genaues Beispiel zeigen, wo die Beziehung innerhalb einer Beziehung verwendet wurde? oder atleast ein Link wäre hilfreich – Vijay

+1

Es gibt keine eingebaute Möglichkeit, es zu tun. Verwenden Sie separate Prädikate, um verschiedene Beziehungen zu definieren. – mat

Verwandte Themen