OverviewFilesCommitsIssuesDocsReleasesPeers

opencog-atomspace / tests / query / constant-clauses.scm

71 lines · scm ref:
(use-modules (opencog))

;; Facts
(Evaluation
 (Predicate "are-friends")
 (List
  (Concept "John")
  (Concept "Mary")))

(Evaluation
 (Predicate "are-friends")
 (List
  (Concept "Mary")
  (Concept "Edward")))

(Evaluation
 (Predicate "are-friends")
 (List
  (Concept "Michel")
  (Concept "Edward")))

(Evaluation
 (Predicate "are-friends")
 (List
  (Concept "Cyril")
  (Concept "John")))

(Evaluation
 (Predicate "is-musician")
 (Concept "John"))

(Evaluation
 (Predicate "is-musician")
 (Concept "Mary"))

(Evaluation
 (Predicate "is-musician")
 (Concept "Edward"))

;; Rule
(define mixed-clauses
 (CollectionOf
 (QueryLink
  (VariableList
   (TypedVariableLink
    (VariableNode "$who")
    (TypeNode "ConceptNode"))
   (TypedVariableLink
    (VariableNode "$Y")
    (TypeNode "ConceptNode")))

  (AndLink
   (EvaluationLink
    (PredicateNode "is-musician")
    (VariableNode "$Y"))

   (EvaluationLink
    (PredicateNode "are-friends")
    (ListLink
     (VariableNode "$Y")
     (VariableNode "$who")))

   (EvaluationLink
    (PredicateNode "is-musician")
    (ConceptNode "John"))
  )

  (VariableNode "$who")
 )
 ))