[Attempto] Workflow management and no-code apps creation

Pierre-Alexandre Voye ontologiae at gmail.com
Sat Dec 26 00:09:38 CET 2020


Igor,

To illustrate Norbert's answer, here a REPL session in my terminal with
your sentences :

note I tell APE to use a lexicon : you can find this lexicon in the github
repository and you'll see it's fairly simple to set.

$ ./ape.exe -ulexfile lexicon/clex_lexicon.pl -cdrs  -cparaphrase1
"Lessons" is an application.
<?xml version="1.0" encoding="UTF-8"?>

<apeResult>
  <duration tokenizer="0.012" parser="0.003" refres="0.001"/>
  <drs>drs([],[])</drs>
  <paraphrase1></paraphrase1>
  <messages>
    <message
importance="warning"
type="lexicon"
sentence=""
token=""
value="less"
repair="This function word should not be redefined in the user lexicon."/>
    <message
importance="warning"
type="lexicon"
sentence=""
token=""
value="like"
repair="Bad intersection: preposition and transitive verb."/>
    <message
importance="error"
type="word"
sentence="1"
token=""
value="application"
repair="Use the prefix n:, v:, a: or p:."/>
    <message
importance="error"
type="sentence"
sentence="1"
token="4"
value=""Lessons" is an <> application."
repair="This is the first sentence that was not ACE. The sign <>
indicates the position where parsing failed."/>
  </messages>
</apeResult>

Note I used double quotes and not simple quotes on "Lessons".

Now, if you tell APE that "application" is a noon :
























*$ ./ape.exe -ulexfile lexicon/clex_lexicon.pl <http://clex_lexicon.pl>
-cdrs  -cparaphrase1"Lessons" is an n:application.<?xml version="1.0"
encoding="UTF-8"?><apeResult>  <duration tokenizer="0.000" parser="0.003"
refres="0.000"/>
<drs>drs([A,B],[object(A,application,countable,na,eq,1)-1/6,predicate(B,be,string('Lessons'),A)-1/2])</drs>
<paraphrase1>"Lessons" is an n:application .</paraphrase1>  <messages>
<message importance="warning" type="lexicon" sentence="" token=""
value="less" repair="This function word should not be redefined in the user
lexicon."/>    <message importance="warning" type="lexicon" sentence=""
token="" value="like" repair="Bad intersection: preposition and transitive
verb."/>  </messages></apeResult>*

By prefixing application with "n:" you told APE that "application" is noon,
and the parse didn't fail.

Now, be sure all your sentences are ACE :
 $ ./ape.exe  -cdrs  -cparaphrase1
"Lessons" contains one or more n:projects.
<?xml version="1.0" encoding="UTF-8"?>

<apeResult>
  <duration tokenizer="0.001" parser="0.003" refres="0.000"/>
  <drs>drs([],[])</drs>
  <paraphrase1></paraphrase1>
  <messages>
    <message
importance="error"
type="sentence"
sentence="1"
token="4"
value=""Lessons" contains one <> or more n:projects ."
repair="This is the first sentence that was not ACE. The sign <>
indicates the position where parsing failed."/>
  </messages>
</apeResult>

 $ ./ape.exe  -cdrs  -cparaphrase1
"Lessons" contains a n:projects or "Lessons" contains some n:projects.
<?xml version="1.0" encoding="UTF-8"?>

<apeResult>
  <duration tokenizer="0.001" parser="0.002" refres="0.000"/>
  <drs>drs([],[*v*(drs([A,B],[object(A,projects,*countable*,na,*eq,1*
)-1/6,predicate(B,contain,string('Lessons'),A)-1/2]),drs([C,D],[object(C,projects,
*countable,na,geq,2*
)-1/13,predicate(D,contain,string('Lessons'),C)-1/9]))])</drs>
  <paraphrase1>"Lessons" contains a n:projects or "Lessons" contains at
least 2 n:projects .</paraphrase1>
  <messages/>
</apeResult>

You can see you have your "one or more"

If you like the try and error method, like me, you could learn ACE by using
it interactively !


Le jeu. 24 déc. 2020 à 14:01, Igor Kryltsov <kryltsov at gmail.com> a écrit :

> Hi Norbert,
>
> Thank you very much for the answers and guides!
>
> >> I see http://attempto.ifi.uzh.ch/site/docs/ace_constructionrules.html (Proper
> Names) but no example of how to make definitions of not proper concepts so
> to speak.
> >This I do not understand. What are "not proper concepts"?
>
> If I want to define 'Lessons' as an application name and refer to it as a
> named entity in further statements.
> 'Lessons' is an application. 'Lessons' application contains lessons
>
> For example, using familiar terms
>
> 'XYZ' is an application. 'XYZ' contains one or more projects. Every
> project contains tasks.
> I want to define:
> 'Lessons' is an application. 'Lessons' contains one or more lessons. Every
> lesson contains tasks.
>
> Would it be a better way to go (assuming I will learn construction and
> interpretation rules) to do this:
>
> 'Lessons' is an application.
> 'Lessons' contains one or more projects.
> A project contains one or more tasks.
> Projects in 'Lessons' are called 'lesson'.
>
> This way I create a knowledge base that connects specifics of 'Lessons'
> (application a user may create to create piano lessons on Youtube) with the
> general knowledge that tasks are parts of projects.
>
> Thanks!
> _______________________________________________
> attempto mailing list
> attempto at lists.ifi.uzh.ch
> https://lists.ifi.uzh.ch/listinfo/attempto
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ifi.uzh.ch/pipermail/attempto/attachments/20201226/556f4ffd/attachment.html>


More information about the attempto mailing list