1:- dynamic naturalLanguageQueryHistory/2,
2naturalLanguageAnswerHistory/3, naturalLanguageCommandHistory/3,
3currentAgent/1, currentSpeaker/1, currentWSMContext/1. 4
5setByRetractingAllAndAsserting(Term) :-
6 Term =.. [Predicate|Args],
7 length(Args,Length),
8 length(TmpArgs,Length),
9 TmpTerm =.. [Predicate|TmpArgs],
10 retractall(TmpTerm),
11 assert(Term).
12
13alexaSkillFLPQuery(Query,Response) :-
14 alexaSkillFLPQueryHelper(Query,Response,0,1).
15
16alexaSkillFLPQueryHelper(Query,Response,Simulate,Log) :-
17 currentWSMContext(TmpContext),
18 atom_concat('Org::Cyc::WSMContext::',TmpContext,Context),
19 ( Log = 1 ->
20 ( getCurrentDateTime(DateTime),
21 fassert_argt('Agent1','Yaswi1',[term(naturalLanguageQueryHistory(Query,DateTime)),context(Context)],Result1)) ;
22 true ),
23 naturalLanguageQuery(Query,Result2),
24 ( Result2 = assert(Assertion) ->
25 ( view([asserting,[assertion,Assertion,context,Context]]),
26 ( Simulate = 1 ->
27 true ;
28 (
30
31
33
34
36 fassert_argt('Agent1','Yaswi1',[term(Assertion),context(Context)],Result3),
37 Result4 = [command(assert(Assertion)),returnValue(Result3),answer(-1)],
38 view([assertion,Result4])
39 )
39 )
39 )
39 ;
40 ( Result2 = query(ActualQuery) ->
41 ( view([querying,[query,ActualQuery,context,Context]]),
42 ( Simulate = 1 ->
43 true ;
44 (
45 term_variables(ActualQuery,Vars),
46 view([query,ActualQuery,vars,Vars]),
49
51 call(ActualQuery),
52 view([query,ActualQuery]),
53 Result4 = [command(query(ActualQuery)),returnValue(ReturnValue),answer(Vars)],
54 view([query,Result4])
55 )
55 )
55 )
55 ;
56 Result4 = [command(Result2),returnValue(-1),answer(-1)]
57 )
57 )
57,
58 view([result4,Result4]),
59 generateResponseFromTemplate(Result4,Answer),
62
63
64
65
66
67 atomic_list_concat(['<alexa-skill-flp-result>',Answer,'</alexa-skill-flp-result>'],'',Response),
68 !
68.
69alexaSkillFLPQueryHelper(Query,Response,Simulate,Log) :-
70 atom_concat('I heard and cannot understand this: ',Query,Atom),
71 atomic_list_concat(['<alexa-skill-flp-result>',Atom,'</alexa-skill-flp-result>'],'',Response),
72 !.
73
74alexa(Query,Response) :-
75 alexaSkillFLPQueryHelper(Query,Response,0,1).
76
77testAlexa(Query,Response) :-
78 alexaSkillFLPQueryHelper(Query,Response,0,0).
79
80testAlexaSim(Query,Response) :-
81 alexaSkillFLPQueryHelper(Query,Response,1,0).
82
83hasEnglishGloss(Symbol,Gloss) :-
84 hasEnglishGlosses(Symbol,Glosses),
85 member(Gloss,Glosses).
86
87hasEnglishGloss2(Symbol,Gloss) :-
88 setof(Symbol,Glosses^(hasEnglishGlosses(Symbol,Glosses),member(Gloss,Glosses)),Results),
89 nth(1,Results,Symbol).
90
91hasEnglishGlosses(X,Y) :-
92 not(hasEnglishGlossesData(X,Y)),
93 Y = [X],!.
94hasEnglishGlosses(X,Y) :-
95 hasEnglishGlossesData(X,Y).
96
97resolveProperName(NameString,Term) :-
98 findall(Agent,hasFirstName(Agent,firstNameFn(NameString)),Agents),
99 ((length(Agents,0)) ->
100 (findall(Agent,hasLastName(Agent,lastNameFn(NameString)),Agents),
101 ((length(Agents,0)) ->
102 (Term = unknownAgentFn(Agent)) ;
103 ((length(Agents,1)) ->
104 ([Term] = Agents) ;
105 (Term = oneOf(Agents))))) ;
106 ((length(Agents,1)) ->
107 ([Term] = Agents) ;
108 (Term = oneOf(Agents)))).
113phoneticallySimilar(['8','eight','ate']).
127listQueryDateTimes(QueryDateTimes) :-
128 findall(naturalLanguageQueryHistory(Query,DateTime),naturalLanguageQueryHistory(Query,DateTime),QueryDateTimes).
129
130listQueries(Queries) :-
131 findall(Query,naturalLanguageQueryHistory(Query,DateTime),Queries)