PLN rules selection

209 views
Skip to first unread message

Vishnu Priya

unread,
Mar 21, 2017, 11:48:41 AM3/21/17
to opencog

Hello All,

I have tried running some FC examples by loading some rules as in http://wiki.opencog.org/w/PLN_by_Hand and hard coding/defining rules as in 

Now I have some random facts and i want some unknown inferences out of it. 
But i don't know, which rules to apply.  There are so many rules in https://github.com/opencog/opencog/tree/master/opencog/pln/rules.
Should i simply load all rules and then run FC/BC? 

I may have thousands of input. Examining each and every input and deciding the corresponding rule seems unpractical. 


Thanks,
Vishnu



Nil Geisweiller

unread,
Mar 21, 2017, 2:43:38 PM3/21/17
to ope...@googlegroups.com
Hi,

On 03/21/2017 05:48 PM, Vishnu Priya wrote:
>
> Hello All,
>
> I have tried running some FC examples by loading some rules as
> in http://wiki.opencog.org/w/PLN_by_Hand and hard coding/defining rules
> as in
> https://github.com/opencog/atomspace/blob/master/examples/rule-engine/chaining/frog.scm
>
> Now I have some random facts and i want some unknown inferences out of it.
> But i don't know, which rules to apply. There are so many rules in
> https://github.com/opencog/opencog/tree/master/opencog/pln/rules.
> Should i simply load all rules and then run FC/BC?

No, I'm sure half of them are broken anyway. You should pick up the
rules are that you need. The wiki is missing in terms of rule
documentation, but each rule have a comment at the top that explain what
it does. To give you an example all rules used in the MOSES PLN synergy
demo are correct (that isn't to say they are perfect)

https://github.com/opencog/opencog/blob/master/examples/pln/moses-pln-synergy/scm/pln-bc-config.scm

I'm going over more rules these days, I'm probably gonna move to some
subfolders all broken ones.

Nil

>
> I may have thousands of input. Examining each and every input and
> deciding the corresponding rule seems unpractical.
>
>
> Thanks,
> Vishnu
>
>
>
> --
> You received this message because you are subscribed to the Google
> Groups "opencog" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to opencog+u...@googlegroups.com
> <mailto:opencog+u...@googlegroups.com>.
> To post to this group, send email to ope...@googlegroups.com
> <mailto:ope...@googlegroups.com>.
> Visit this group at https://groups.google.com/group/opencog.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/opencog/3958a7f1-064d-4353-aa6f-3634522eb49e%40googlegroups.com
> <https://groups.google.com/d/msgid/opencog/3958a7f1-064d-4353-aa6f-3634522eb49e%40googlegroups.com?utm_medium=email&utm_source=footer>.
> For more options, visit https://groups.google.com/d/optout.

Vishnu Priya

unread,
Mar 23, 2017, 5:54:07 PM3/23/17
to opencog


Thanks Nil. But i have few questions. 

  1. In real time reasoning, each and every time will you look at the input data and decide the rules manually? 
  2. Only when the input is in certain form of the rule (or matches with the rule) which is being chosen,  we obtain inferences? (this is how i understood!)
  3. And there exists only such limited number of rules?
  4. In the frog.scm, 
    https://github.com/opencog/atomspace/blob/master/examples/rule-engine/chaining/frog.scm    
    there are two rules defined. How do these rules are called? I could not associate these rules  with any of the rules in https://github.com/opencog/opencog/blob/master/examples/pln/moses-pln-synergy/scm/pln-bc-config.scm 
 ?!

Nil Geisweiller

unread,
Mar 24, 2017, 1:55:41 AM3/24/17
to ope...@googlegroups.com
On 03/23/2017 11:54 PM, Vishnu Priya wrote:
>
>
> Thanks Nil. But i have few questions.
>
> 1. In real time reasoning, each and every time will you look at the
> input data and decide the rules manually?

No. Inference control (IC) would decide what rule(s) to apply. ATM IC is
rather stupid and should to improves over time.

> 2. Only when the input is in certain form of the rule (or matches with
> the rule) which is being chosen, we obtain inferences? (this is how
> i understood!)

Correct.

BTW, I have improved and actualized the URE documentation

wiki.opencog.org/w/Unified_rule_engine

I strongly recommend you to read it again (and send feedback if you have
critics so I can improve it).

For instance your question is answered here

http://wiki.opencog.org/w/Unified_rule_engine#Rule_Unification_and_Application
and here
http://wiki.opencog.org/w/Unified_rule_engine#Target_and_Rule_Unification

> 3. And there exists only such limited number of rules?

The number of rules is indeed limited. It's not clear how big a full PLN
rule set would be. Add to that rule for temporal reasoning, etc. That
could grow big.

> 4. In the frog.scm,
>
>
> https://github.com/opencog/atomspace/blob/master/examples/rule-engine/chaining/frog.scm
>
> there are two rules defined. How do these rules are called? I could
> not associate these rules with any of the rules
> in https://github.com/opencog/opencog/blob/master/examples/pln/moses-pln-synergy/scm/pln-bc-config.scm
> <https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fopencog%2Fopencog%2Fblob%2Fmaster%2Fexamples%2Fpln%2Fmoses-pln-synergy%2Fscm%2Fpln-bc-config.scm&sa=D&sntz=1&usg=AFQjCNGFIDFC2krxp9qfasZVzJPbRT7uqg>
> ?!

Oops, this example is really half baked, if not completely boggus. Have
a look at this instead

https://github.com/opencog/atomspace/blob/master/tests/rule-engine/BackwardChainerUTest.cxxtest#L321

If you wish, as an contributing/learning exercise, you could fix the
frog example based on it.

Nil

>
> --
> You received this message because you are subscribed to the Google
> Groups "opencog" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to opencog+u...@googlegroups.com
> <mailto:opencog+u...@googlegroups.com>.
> To post to this group, send email to ope...@googlegroups.com
> <mailto:ope...@googlegroups.com>.
> Visit this group at https://groups.google.com/group/opencog.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/opencog/b93152e1-e531-41c9-a993-4b3781b94f38%40googlegroups.com
> <https://groups.google.com/d/msgid/opencog/b93152e1-e531-41c9-a993-4b3781b94f38%40googlegroups.com?utm_medium=email&utm_source=footer>.

Vishnu Priya

unread,
Mar 28, 2017, 12:13:08 PM3/28/17
to opencog


Thanks NIL.

I have read the URE documentation. It is clear enough for me to understand.  But  under "Forward Chainer", you have written,
  " It currently uses a rather brute force algorithms, select sources and rules somewhat randomly,..".   But i think, currently we select the source and rule(s) manually. It doesn't select on its own. 


In most of the input scm files such as bc-criminals.scm, bc-animals.scm, there exists Variables and and are resolved by certain rules. For example in  https://github.com/opencog/atomspace/blob/master/tests/rule-engine/bc-criminal.scm , there exists variables in Input and the rules applied are 
conditional-instantiation-meta-rule.scm, fuzzy-conjunction-introduction-rule.scm, and deduction rule.

My question is :

1. If the input which is give, is R2L form of the sentences but does not contain any variable,
Still can i apply the rules on them to get inferences?
because here the conditional instantiation-meta-rule is in the following form and involves substitution of variables
with meaningful atoms.
;; ImplicationScopeLink
;; V
;; P
;; Q
;; |-
;; T
;; P
;; |-
;; Q[V->T]
 What if i want to get inferences out of Criminal.scm automatically, which is in the form of R2L  and without  hard-coding variables? i.e.  (KB without variables)

2. If not possible, then in real time reasoning, do you hard code each time the input along with variables
and then you apply rules?
It does not seem Practical!! :-(
;; Cheaping KB, used for debugging
What is this for?


Many Thanks,
Vishnu



Nil Geisweiller

unread,
Mar 29, 2017, 8:13:51 AM3/29/17
to ope...@googlegroups.com
Hi,

On 03/28/2017 07:13 PM, Vishnu Priya wrote:
>
>
> Thanks NIL.
>
> I have read the URE documentation. It is clear enough for me to
> understand. But under "Forward Chainer", you have written,
>
> " It currently uses a rather brute force algorithms, select sources
> and rules somewhat randomly,..". But i think, currently we select the
> source and rule(s) manually. It doesn't select on its own.

No, the FC really does that on its own. The closest to a manual
selection would be to run a selected rule in the pattern matcher, but
then all matching sources are selected.

I do plan to expose more C++ methods from the URE to scheme, that way
one will be able to perform such selection manually, even possibly write
a chainer of his/her own.
> <https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fopencog%2Fatomspace%2Fblob%2Fmaster%2Ftests%2Frule-engine%2FBackwardChainerUTest.cxxtest%23L321&sa=D&sntz=1&usg=AFQjCNHu5a6X_lkelksdx-zzIQNAgxbWTA>.
> I have a question.
> In most of the input scm files such as bc-criminals.scm, bc-animals.scm,
> there exists Variables and and are resolved by certain rules. For
> example in
> https://github.com/opencog/atomspace/blob/master/tests/rule-engine/bc-criminal.scm
> , there exists variables in Input and the rules applied are
> conditional-instantiation-meta-rule.scm,
> fuzzy-conjunction-introduction-rule.scm, and deduction rule.
>
> My question is :
>
> 1. If the input which is give, is R2L form of the sentences but does not
> contain any variable,
> Still can i apply the rules on them to get inferences?

Indeed, unification works all ways (always!), whether the rule has or
not variable, whether the source/target has or not variable.

> because here the conditional instantiation-meta-rule is in the following
> form and involves substitution of variables
> with meaningful atoms.
> ;; ImplicationScopeLink
> ;; V
> ;; P
> ;; Q
> ;; |-
> ;; T
> ;; P
> ;; |-
> ;; Q[V->T]
>
> What if i want to get inferences out of Criminal.scm automatically,
> which is in the form of R2L and without hard-coding variables? i.e.
> (KB without variables)
>
> 2. If not possible, then in real time reasoning, do you hard code each
> time the input along with variables
> and then you apply rules?
> It does not seem Practical!! :-(

Sorry I don't understand. What do you mean by "input". Could you give me
an example?

> 3. In
> https://github.com/opencog/atomspace/blob/master/tests/rule-engine/bc-criminal.scm,
> at the end i see
> ;; Cheaping KB, used for debugging
> What is this for?

Enabling more facts make the inference simpler. I used that to check
what facts couldn't get inferred back when I was debugging. Nowadays, I
probably wouldn't need that because the log messages are much better,
like printing the inferences in ascii art, etc.

I strongly recommend to take a look at the log files generated (you need
to set the log level to debug), that may help you to understand.

Nil

>
>
> Many Thanks,
> Vishnu
>
>
>
> --
> You received this message because you are subscribed to the Google
> Groups "opencog" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to opencog+u...@googlegroups.com
> <mailto:opencog+u...@googlegroups.com>.
> To post to this group, send email to ope...@googlegroups.com
> <mailto:ope...@googlegroups.com>.
> Visit this group at https://groups.google.com/group/opencog.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/opencog/fb98fbdc-5fa0-4410-a248-08b631d82156%40googlegroups.com
> <https://groups.google.com/d/msgid/opencog/fb98fbdc-5fa0-4410-a248-08b631d82156%40googlegroups.com?utm_medium=email&utm_source=footer>.

Vishnu Priya

unread,
Mar 31, 2017, 12:19:59 PM3/31/17
to opencog

Sorry I don't understand. What do you mean by "input". Could you give me 
an example? 
     

I meant,  instead of giving "input" like the following, which involves the variable  " X"

(ImplicationScope (stv 1.0 1.0) (TypedVariable (Variable "$X") (Type "ConceptNode")) (And (Evaluation (Predicate "croaks") (Variable "$X")) (Evaluation (Predicate "eats_flies") (Variable "$X"))) (Inheritance (Variable "$X") (Concept "Frog"))) (ImplicationScope (stv 1.0 1.0) (TypedVariable (Variable "$X") (Type "ConceptNode")) (Inheritance (Variable "$X") (Concept "Frog")) (Inheritance (Variable "$X") (Concept "green")))........... ....

Can i simply give the following KB without variables, and apply conditional-instantiation-meta-rule and fuzzy-conjunction-introduction-rule to get the inferences?
(EvaluationLink (PredicateNode "croaks") (ConceptNode "frog")) (EvaluationLink (PredicateNode "eats_flies") (ConceptNode "frog")) (InheritanceLink (ConceptNode "frog") (ConceptNode "green")) (EvaluationLink (PredicateNode "croaks") (ConceptNode "fritz")) (EvaluationLink (PredicateNode "eats_flies") (ConceptNode "fritz"))

Nil Geisweiller

unread,
Apr 3, 2017, 2:10:52 AM4/3/17
to ope...@googlegroups.com


On 03/28/2017 07:13 PM, Vishnu Priya wrote:
> 1. If the input which is give, is R2L form of the sentences but does not
> contain any variable,
> Still can i apply the rules on them to get inferences?
> because here the conditional instantiation-meta-rule is in the following
> form and involves substitution of variables
> with meaningful atoms.
> ;; ImplicationScopeLink
> ;; V
> ;; P
> ;; Q
> ;; |-
> ;; T
> ;; P
> ;; |-
> ;; Q[V->T]
>
> What if i want to get inferences out of Criminal.scm automatically,
> which is in the form of R2L and without hard-coding variables? i.e.
> (KB without variables)

Ah, so you want for instance to either tell the system

"What croaks and eats flies is a frog"

or have it learn it from experience and such, instead of hard coding it
in the KB, right?

You're right, hard-coding everything is not practical. These examples
are more like toy tests than real world examples. The plan is to have
most of these learned or extracted from the web, or such. We'll still
hard code some stuff, things that are fundamental and hard to learn like
mathematics, amongst other things.

I'm not extremely familiar with the NLP code, but I think it can already
produce such knowledge (probably as implication links without variables,
but as explained here
http://wiki.opencog.org/w/ImplicationScopeLink#PLN_Semantics these are
equivalent to implication scopes).

Nil

Linas Vepstas

unread,
Apr 3, 2017, 2:25:10 AM4/3/17
to opencog

On Mon, Apr 3, 2017 at 9:10 AM, 'Nil Geisweiller' via opencog <ope...@googlegroups.com> wrote:
I'm not extremely familiar with the NLP code, but I think it can already produce such knowledge (probably as implication links without variables, but as explained here http://wiki.opencog.org/w/ImplicationScopeLink#PLN_Semantics these are equivalent to implication scopes).


Well, we do have some code in the opencog.nlp/relex2logic directory  (aka R2L) that will convert the English-language sentence "Frogs eat flies" into a format that PLN can operate on.

The R2L code does have some fundamental design flaws: the rules are hand-coded, there are about 60 or so of them, and we really need twice as many, but even if we had more, they most they can deal with is relatively unambiguous factual English sentences.  What we really need is a way to automatically learn such rules.

But if you just want to do some basic reasoning with simple English sentences, then R2L+PLN should be a fair way to do it.

--linas

Ben Goertzel

unread,
Apr 3, 2017, 6:31:36 AM4/3/17
to opencog
> The R2L code does have some fundamental design flaws: the rules are
> hand-coded, there are about 60 or so of them, and we really need twice as
> many, but even if we had more, they most they can deal with is relatively
> unambiguous factual English sentences. What we really need is a way to
> automatically learn such rules.

What Ruiting is working on now is a way to automatically learn those
rules, via pattern mining on an English/Lojban parallel corpus...

Other was of learning such rules are also possible...

But for simple prototype-y examples the R2L rulebase is usable and
does something, yeah...

ben

Vishnu Priya

unread,
Apr 27, 2017, 6:40:26 AM4/27/17
to opencog, linasv...@gmail.com

Hi Linas,

Well, we do have some code in the opencog.nlp/relex2logic directory  (aka R2L) that will convert the English-language sentence "Frogs eat flies" into a format that PLN can operate on. 

But if you just want to do some basic reasoning with simple English sentences, then R2L+PLN should be a fair way to do it.

    So, according to https://github.com/opencog/opencog/tree/master/opencog/nlp/relex2logic ,  i started the relex server,  started scheme,  then  did (nlp-parse "This is a test sentence.") and got a SentenceNode as an output.
 
   Next step what should i do, so that FC/BC can operate on it?   

  My input is :
"The law says that it is a crime for an American to sell weapons to hostile
 nations. The country Nono, an enemy of America, has some missiles, and all
 of its missiles were sold to it by ColonelWest, who is American." 

I am trying to convert it to a form such that i can apply BC on it. 
  
Thanks,
 Vishnu

Nil Geisweiller

unread,
May 2, 2017, 2:01:15 AM5/2/17
to ope...@googlegroups.com
Vishnu,

I don't know if the NLP pipeline is mature enough to process that...
After you've parsed the sentence you may check whether it has produced
knowledge that is similar to the criminal example

https://github.com/opencog/atomspace/blob/master/tests/rule-engine/criminal.scm

I don't think it would but I don't follow very closely NLP development.

Nil
> --
> You received this message because you are subscribed to the Google
> Groups "opencog" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to opencog+u...@googlegroups.com
> <mailto:opencog+u...@googlegroups.com>.
> To post to this group, send email to ope...@googlegroups.com
> <mailto:ope...@googlegroups.com>.
> Visit this group at https://groups.google.com/group/opencog.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/opencog/0f357d9a-ef1d-4ac7-a7e3-d5dcdefa1f10%40googlegroups.com
> <https://groups.google.com/d/msgid/opencog/0f357d9a-ef1d-4ac7-a7e3-d5dcdefa1f10%40googlegroups.com?utm_medium=email&utm_source=footer>.

Vishnu Priya

unread,
May 2, 2017, 3:51:04 AM5/2/17
to opencog

Yeah Nil.  I think, the output is not in the suitable format to run FC/BC.  i extracted R2L parses and it is like the following:
 ((ImplicationLink (stv 1 1)
   (PredicateNode "for@bd1dfde9-6b3c-4b90-912e-c0f9815cf2b1" (stv 9,7569708e-13 0,0012484395))
   (PredicateNode "for" (stv 9,7569708e-13 0,0012484395))
)
 (InheritanceLink (stv 1 1)
   (ConceptNode "hostile@37b430a1-64d8-43b9-be1d-62110b45b079")
   (ConceptNode "hostile")
)
 (EvaluationLink (stv 1 1)
   (PredicateNode "is@63bffae7-17ca-48c9-9c4a-3c9cb1e6a1ab" (stv 9,7569708e-13 0,0012484395))
   (ListLink
      (ConceptNode "it@8f61d36e-dfa0-41ae-810d-019df9b3aa30")
      (ConceptNode "crime@ff7fce34-1e10-45e7-89ae-0e39f2a13543")
   )
)
 (EvaluationLink (stv 1 1)
   (PredicateNode "says@330e5cc3-3d84-4ea0-9b51-5f3ea5cfc113" (stv 9,7569708e-13 0,0012484395))
   (ListLink
      (ConceptNode "law@efcdf101-0d88-4f38-af37-f6fcd65fa596")
   )
)
 (EvaluationLink (stv 1 1)
   (DefinedLinguisticPredicateNode "definite" (stv 9,7569708e-13 0,0012484395))
   (ListLink
      (ConceptNode "American@20f9c975-f87b-4ad8-a7da-b414f5f793c0" (stv 9,7569708e-13 0,0012484395))
   )
)
 (InheritanceLink (stv 1 1)
   (ConceptNode "it@8f61d36e-dfa0-41ae-810d-019df9b3aa30")
   (ConceptNode "crime@ff7fce34-1e10-45e7-89ae-0e39f2a13543")
)
 (ImplicationLink (stv 1 1)
   (PredicateNode "sell@7adea775-4dd6-4b21-86df-08ea67c56b20" (stv 9,7569708e-13 0,0012484395))
   (PredicateNode "sell" (stv 9,7569708e-13 0,0012484395))
)
 (InheritanceLink (stv 1 1)
   (ConceptNode "nations@100dab18-b3b4-4365-82ae-bcb37a5a5de7")
   (ConceptNode "hostile@37b430a1-64d8-43b9-be1d-62110b45b079")
)
 (InheritanceLink (stv 1 1)
   (ConceptNode "nations@100dab18-b3b4-4365-82ae-bcb37a5a5de7")
   (ConceptNode "nation")
)
 (EvaluationLink (stv 1 1)
   (PredicateNode "for@bd1dfde9-6b3c-4b90-912e-c0f9815cf2b1" (stv 9,7569708e-13 0,0012484395))
   (ListLink
      (ConceptNode "American@20f9c975-f87b-4ad8-a7da-b414f5f793c0" (stv 9,7569708e-13 0,0012484395))
   )
)
 (InheritanceLink (stv 1 1)
   (ConceptNode "crime@ff7fce34-1e10-45e7-89ae-0e39f2a13543")
   (ConceptNode "crime")
)
 (EvaluationLink (stv 1 1)
   (PredicateNode "is@63bffae7-17ca-48c9-9c4a-3c9cb1e6a1ab" (stv 9,7569708e-13 0,0012484395))
   (ListLink
      (ConceptNode "it@8f61d36e-dfa0-41ae-810d-019df9b3aa30")
   )
)
 (InheritanceLink (stv 1 1)
   (ConceptNode "American@20f9c975-f87b-4ad8-a7da-b414f5f793c0" (stv 9,7569708e-13 0,0012484395))
   (ConceptNode "American" (stv 9,7569708e-13 0,0012484395))
)
 (ImplicationLink (stv 1 1)
   (PredicateNode "to@0610bade-fc40-415c-9bcc-821c2f5d01b2" (stv 9,7569708e-13 0,0012484395))
   (PredicateNode "to" (stv 9,7569708e-13 0,0012484395))
)
 (InheritanceLink (stv 1 1)
   (PredicateNode "is@63bffae7-17ca-48c9-9c4a-3c9cb1e6a1ab" (stv 9,7569708e-13 0,0012484395))
   (DefinedLinguisticConceptNode "present" (stv 9,7569708e-13 0,0012484395))
)
 (EvaluationLink (stv 1 1)
   (DefinedLinguisticPredicateNode "definite" (stv 9,7569708e-13 0,0012484395))
   (ListLink
      (ConceptNode "it@8f61d36e-dfa0-41ae-810d-019df9b3aa30")
   )
)
 (ImplicationLink (stv 1 1)
   (PredicateNode "is@63bffae7-17ca-48c9-9c4a-3c9cb1e6a1ab" (stv 9,7569708e-13 0,0012484395))
   (PredicateNode "be" (stv 9,7569708e-13 0,0012484395))
)
 (ImplicationLink (stv 1 1)
   (PredicateNode "that@3fb84d09-683f-4756-9881-4b116a625cbd" (stv 9,7569708e-13 0,0012484395))
   (PredicateNode "that" (stv 9,7569708e-13 0,0012484395))
)
 (EvaluationLink (stv 1 1)
   (PredicateNode "says@330e5cc3-3d84-4ea0-9b51-5f3ea5cfc113" (stv 9,7569708e-13 0,0012484395))
   (ListLink
      (ConceptNode "that@3fb84d09-683f-4756-9881-4b116a625cbd" (stv 9,7569708e-13 0,0012484395))
   )
)
 (InheritanceLink (stv 1 1)
   (ConceptNode "it@8f61d36e-dfa0-41ae-810d-019df9b3aa30")
   (ConceptNode "it")
)
 (ImplicationLink (stv 1 1)
   (PredicateNode "says@330e5cc3-3d84-4ea0-9b51-5f3ea5cfc113" (stv 9,7569708e-13 0,0012484395))
   (PredicateNode "say" (stv 9,7569708e-13 0,0012484395))
)
 (EvaluationLink (stv 1 1)
   (PredicateNode "that@3fb84d09-683f-4756-9881-4b116a625cbd" (stv 9,7569708e-13 0,0012484395))
   (ListLink
      (PredicateNode "is@63bffae7-17ca-48c9-9c4a-3c9cb1e6a1ab" (stv 9,7569708e-13 0,0012484395))
   )
)
 (InheritanceLink (stv 1 1)
   (ConceptNode "law@efcdf101-0d88-4f38-af37-f6fcd65fa596")
   (ConceptNode "law")
)
 (InheritanceLink (stv 1 1)
   (PredicateNode "says@330e5cc3-3d84-4ea0-9b51-5f3ea5cfc113" (stv 9,7569708e-13 0,0012484395))
   (DefinedLinguisticConceptNode "present" (stv 9,7569708e-13 0,0012484395))
)
 (InheritanceLink (stv 1 1)
   (PredicateNode "sell@7adea775-4dd6-4b21-86df-08ea67c56b20" (stv 9,7569708e-13 0,0012484395))
   (DefinedLinguisticConceptNode "infinitive" (stv 9,7569708e-13 0,0012484395))
)
 (EvaluationLink (stv 1 1)
   (DefinedLinguisticPredicateNode "definite" (stv 9,7569708e-13 0,0012484395))
   (ListLink
      (ConceptNode "law@efcdf101-0d88-4f38-af37-f6fcd65fa596")
   )
)
 (InheritanceLink (stv 1 1)
   (InterpretationNode "sentence@118669d7-c3c7-4118-8d58-c820f6eac491_parse_0_interpretation_$X" (stv 9,7569708e-13 0,0012484395))
   (DefinedLinguisticConceptNode "DeclarativeSpeechAct" (stv 9,7569708e-13 0,0012484395))
)
 (EvaluationLink (stv 1 1)
   (PredicateNode "to@0610bade-fc40-415c-9bcc-821c2f5d01b2" (stv 9,7569708e-13 0,0012484395))
   (ListLink
      (ConceptNode "nations@100dab18-b3b4-4365-82ae-bcb37a5a5de7")
   )
)
)

Thanks,Vishnu
Reply all
Reply to author
Forward
0 new messages