You can subscribe to this list here.
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
(4) |
Oct
(2) |
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2010 |
Jan
(4) |
Feb
(1) |
Mar
(2) |
Apr
(2) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(1) |
Dec
|
2011 |
Jan
(1) |
Feb
(1) |
Mar
(3) |
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(1) |
Nov
(1) |
Dec
(1) |
2012 |
Jan
(3) |
Feb
(1) |
Mar
(3) |
Apr
(1) |
May
(1) |
Jun
(4) |
Jul
(2) |
Aug
|
Sep
(2) |
Oct
|
Nov
(4) |
Dec
(1) |
2013 |
Jan
(2) |
Feb
(1) |
Mar
|
Apr
(2) |
May
(3) |
Jun
(3) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2014 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Tara A. <tar...@gm...> - 2015-04-24 20:29:29
|
I am trying to run EulerGUI on Mac OS 10.9.5 with Java 8. I am at this point only interested in EulerGUI for the N3 editor to check the validity of some N3 expressions, so I did not do the extra steps listed in the installation for the Yap Prolog engine. I get the following error message when I try to start eulergui-2.0-jar-with-dependencies.jar [ERROR] - 2015-04-24 16:04:00,840 [ApplicationKB initialization] deductions.runtime.swing.TemporaryFrame (TemporaryFrame.java:<init>:52) TemporaryFrame.TemporaryFrame(): INTERNAL ERROR when initializing internal rule engine translate(IRDFIterator iterator, ... jar:file:/Users/taraathan/Downloads/eulergui-2.0-jar-with-dependencies.jar!/eulergui/gui/controller/project-java-rules.n3 Cause: java.lang.RuntimeException: wrong class format WARNING Does this mean I have to installed Yap prolog (even though I don't want to do reasoning)? Thanks, Tara |
From: Jean-Marc V. <jea...@gm...> - 2014-03-08 09:56:33
|
Hi I will make a new release as soon as I fix the test suite. For now, please check the snapshots ( last from yesterday ) : http://svn.code.sf.net/p/eulergui/code/trunk/eulergui/html/documentation.html#L931 The snapshots are announced on Twitter: https://twitter.com/jmvanel Here is a bunch of new features and fixes planned, resulting from using DomainApp and DataGUI: http://svn.code.sf.net/p/eulergui/code/trunk/eulergui/html/documentation.html#L7253 http://svn.code.sf.net/p/eulergui/code/trunk/eulergui/html/documentation.html#Data1 For instance this post is edited with DomainApp. - new feature : input field for dbPedia lookup and a facultative dbPedia class - enhance trait ResourceLabelizer to use dc:title in addition to rdfs:label, dbo:abstract in addition to rdfs:comment - use trait ResourceLabelizer in "load URI" input field - use trait ResourceLabelizer in link buttons in N3Forms - use trait ResourceLabelizer in N3Table for plain text search result - use trait ResourceLabelizer in DomainApplication buttons - domainApp : test and document panel for suggestions - domainApp : add tools panel with most or all of datagui panels - domainApp: fix extra empty window - use N3 abbreviation in SPARQL monitor - enhance trait ResourceLabelizer with method for getting icons (code elsewhere) - use SIOC for blog vocab' - accept key control Z in editor for text triples - accept key control S in editor for text triples - accept key page up and down in N3Form and EulerGUI central panel - use dbPedia lookup XML API to generate the dbPedia URI in "load URI" input field, and "annotate URI" input field - fix feature check project in EulerGUI - convert simplified N3 query into SPARQL, and use this in SPARQL monitor - export blog entries as static HTML files, with a hyperlinked summary - export blog entries using blog site API: Stample, others (?) - loader for basic vocabularies (FOAF, DC, SIOC, ...) - fr labels + comments for FOAF, etc - use TDB cache in EulerGUI - replace all .n3p examples with new N3+OWL .n3p.n3 project files - DataGUI as web server: * enhance trait Form2HTML[URI] * use Banana & Play! for Stample compatibility * read only form * literal edits * edit URI triples - DomainApplication as web server - use jackson JSON library to decode various JSON API -- Jean-Marc Vanel Déductions SARL - Consulting, services, training, Rule-based programming, Semantic Web http://deductions-software.com/ +33 (0)6 89 16 29 52 Twitter: @jmvanel , @jmvanel_fr ; chat: irc://irc.freenode.net#eulergui |
From: Jean-Marc V. <jea...@gm...> - 2013-11-11 14:25:46
|
It's not perfect, but it's time to turn the page! Towards new Turtle project format, 100% Scala code, modularization, and quicker startup . The accent in this release is the new N3 file format for projects, that is OWL (and Protégé) compatible. Here is an example: @prefix : <http://eulergui.sf.net/ontology/project.owl.n3#>. @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . <> a owl:Ontology. <> owl:imports <plants.n3> . <plants.n3> :isActivated false . # true by default # the main N3 query <> :hasN3Query <plants-q.n3> . <plants-q.n3> :isMainQuery true . # Import of an RDF or OWL document <> owl:imports <herbivores.owl> . <> :subproject <subproject.n3p.n3> . # recommanded suffix .n3p.n3 <> :postProcessing <project-post.n3p.n3> . # only one postProcessing There is a migration batch program ProjectFormatMigration.scala. Otherwise , the raw change log is here: GUI - new N3 file format for projects OWL compatible with migration batch program ProjectFormatMigration.scala - in GUI or from command line, add N3 from abbreviated URL: well known prefixes are recognized, e.g. dbpedia:Jimi_Hendrix , foaf: , sioc: , sioc:Role ( uses prefix.cc web service ) - try RDFa and microdata on an HTTP URL (and add resulting N3 to project) : implementation uses web service http://www.w3.org/2012/pyRdfa/ extract?uri=url - migrate from Pellet to OWL API and Hermit for OWL tree view Rule engines - CLIPS Inference Engine ( and N3 rule base for translating N3 to CLIPS ) - Drools/N3 engine : * use Euler Argument --pass to output the deductive closure, like Euler does * now Euler builtin e:trace does not break Drools / N3 engine Framework - library updates : scala 2.10.3 ; Euler 2013-11 ; Drools 5.5.0.Final, OWL API 3.4.4, Jena latest ( 2.11.0 ), Hermit 1.3.8.2, JLine 2.11 - Jena TDB cache is implemented in class RuleBasedApplicationWithCache. It uses both triples store in memory (Drools backed rule engine), and persistent TDB store. - new programs and API (linked to each other): * N3FormApp, generates a form from an ontology : show Datatype Input error as tooltip; the incorrect field are red like in N3 Table * SWExplorer, Semantic Web Explorer displays contents of an URI as a form view, and navigates by hyperlinks, uses new Jena TDB cache, combobox for WikiPdepia disambiguation, opening matching dbpedia URI (using JSON Web API) * DataGUI extends SWExplorer: allows to enter context based triples while navigating the semantic web * SWMonitorGUI triple store (SPARQL) monitor: shows simplified N3 queries and named graphs FIX - rule with e:findall containing N3 "a" abbreviation - post-Processing with EYE Euler - Now Euler / Eye can be stopped by clicking "Cancel" - avoid troubles at EulerGUI startup when a broken graphviz is installed (report by dmiles_afk on Windows) - typo on prefix dbprop DOWNLOAD: https://sourceforge.net/projects/eulergui/files/eulergui/2.0/ And, remember, the ever updated User Manual is here: http://svn.code.sf.net/p/eulergui/code/trunk/eulergui/html/documentation.html -- Jean-Marc Vanel Déductions SARL - Consulting, services, training, Rule-based programming, Semantic Web http://deductions-software.com/ +33 (0)6 89 16 29 52 Twitter: @jmvanel ; chat: irc://irc.freenode.net#eulergui |
From: Jean-Marc V. <jea...@gm...> - 2013-06-30 19:51:36
|
Jena TDB is a native Semantic Web database from Apache Foundation. The TDB cache is implemented in class RuleBasedApplicationWithCache. It reuses both triple store in memory (Drools backed rule engine), and persistent TDB store. Its is used in the new Semantic Web Explorer application, and as an EulerGUI editor menu Action ; and is also useable as component. The SW Explorer has now a second CL argument for adding Knowledge and rules from an EG project. Soon EulerGUI will use the new cache, so that SPARQL queries will be possible on the whole set of URI's downloaded from the first use of EG. Note that there is already a cache in EulerGUI, based on opensymphony OSCache. So already now, there is no need to re-download things from internet, except if the timestamp shows a new version. This OSCache will probably continue to be used for comiled Drools rule bases. There is a snapshot at the usual place: http://eulergui.sourceforge.net/maven2/eulergui/eulergui/2.0-SNAPSHOT/ -- Jean-Marc Vanel Déductions SARL - Consulting, services, training, Rule-based programming, Semantic Web http://deductions-software.com/ +33 (0)6 89 16 29 52 Twitter: @jmvanel ; chat: irc://irc.freenode.net#eulergui |
From: Jean-Marc V. <jea...@gm...> - 2013-06-27 15:37:25
|
The Semantic Web Explorer displays contents of an URI as a form view, and navigates by hyperlinks: See screenshots here : http://svn.code.sf.net/p/eulergui/code/trunk/eulergui/html/documentation.html#L5773 In EulerGUI, in jEdit N3 editor, one can launch SW Explorer on a resource at mouse or caret by right click menu . There is a snapshot at the usual place: http://eulergui.sourceforge.net/maven2/eulergui/eulergui/2.0-SNAPSHOT/ -- Jean-Marc Vanel Déductions SARL - Consulting, services, training, Rule-based programming, Semantic Web http://deductions-software.com/ +33 (0)6 89 16 29 52 Twitter: @jmvanel ; chat: irc://irc.freenode.net#eulergui |
From: Jean-Marc V. <jea...@gm...> - 2013-06-20 20:20:32
|
Hi One more snapshot today at the usual place in EulerGUI Maven depot : http://eulergui.sourceforge.net/maven2/eulergui/eulergui/2.0-SNAPSHOT/?C=M;O=D The focus is on the N3 format for EulerGUI projects : - documented here : http://svn.code.sf.net/p/eulergui/code/trunk/eulergui/html/documentation.html#L7021 - roundtrip tested with N3, OWL/XML, OWL/RDF, RDF, ACE, plain XML Enjoy ! -- Jean-Marc Vanel Déductions SARL - Consulting, services, training, Rule-based programming, Semantic Web http://deductions-software.com/ +33 (0)6 89 16 29 52 Twitter: @jmvanel ; chat: irc://irc.freenode.net#eulergui |
From: Jean-Marc V. <jea...@gm...> - 2013-05-27 13:48:36
|
Again one more snapshot today at the usual place in EulerGUI Maven depot : http://eulergui.sourceforge.net/maven2/eulergui/eulergui/2.0-SNAPSHOT/?C=M;O=D After some changes in OWL API, and a fix in Euler (thanks to Jos de Roo), now the translation of ACE ( ATTEMPTO <http://attempto.ifi.uzh.ch/>Controled English) into N3 works again and gives this N3 rule : {?t0 ns2:has-as-friend ?t3. ?t0 a ns2:person. ?t0 owl:differentFrom ?t1. ?t1 ns2:has-as-friend ?t3. ?t1 a ns2:person. ?t2 ns2:has-as-friend ?t0. ?t2 ns2:has-as-friend ?t1. ?t2 a ns2:user. ?t3 owl:differentFrom ?t2 } => { ?t3 ns2:is-a-proposed-friend-for ?t2}. from this ACE sentence : *If a user U has-as-friend a person X, and has-as-friend a person Y, and X is not Y, and X has-as-friend Z, and Y has-as-friend Z, and Z is not U then Z is-a-proposed-friend-for U. * I added an examples directory examples/ace for ACE examples ( ATTEMPTO Controled English) ; htttp://svn.code.sf.net/p/eulergui/code/trunk/eulergui/examples/ace/ Documentation on the feature is here : http://svn.code.sf.net/p/eulergui/code/trunk/eulergui/html/documentation.html#L6096 Here are rule examples, in various rules languages manipulated by EulerGUI, sorted by domain: http://svn.code.sf.net/p/eulergui/code/trunk/eulergui/html/rules-examples.html 2013/5/26 Jean-Marc Vanel <jea...@gm...> > Hi > > One more snapshot today : > > upgrades: > - Euler to 2013-05 ; > - OWL API to 3.4.4 > - Jena latest ( TDB 0.10.1 => Jena 2.10.1 ) > > New FEATURE: try RDFa on an HTTP URL (and add resulting N3 to project) : > implementation uses web service " > http://www.w3.org/2012/pyRdfa/extract?uri="+url > > add a new program to generate a form from an ontology : > samples/N3FormApp.java > show Datatype Input error as tooltip; the incorrect field are red like > in N3 Table > tested with new examples/questionnaire.n3 > > add example of using a simple Prolog plugin in Euler/EYE : > list_plugin.n3 + list.pl > > FIXES: > save as new N3 project : sub-project was not there > Opening an old XML project, saving it new N3/OWL project format and > opening the new N3/OWL project > reading main query from N3 project > > > 2013/5/12 Jean-Marc Vanel <jea...@gm...> > > > > > > Hi all > > > > I just uploaded a new snapshot at the usual place in EulerGUI Maven > depot : > > > http://eulergui.sourceforge.net/maven2/eulergui/eulergui/2.0-SNAPSHOT/?C=M;O=D > > > > The change log has been updated thus : > > > > > > [EulerGUI 2.0 ] > > GUI > > - new N3 projects OWL compatible > > - in GUI or from command line, add N3 from abbreviated URL: well known > prefixes are recognized, > > e.g. dbpedia:Jimi_Hendrix , foaf: , sioc: , sioc:Role > > ( uses prefix.cc web service ) > > - CLIPS Inference Engine ( and N3 rule base for translating N3 to CLIPS ) > > - Drools/N3 engine : use Euler Argument --pass to output the deductive > closure, like Euler does > > > > Framework > > - library updates : scala 2.10.1 ; euler 2013-04 ; Drools 5.5.1 > > > > FIX > > - post-Processing with EYE Euler > > - Now Euler / Eye can be stopped by clicking "Cancel" > > - avoid troubles at EulerGUI startup when a broken graphviz is installed > (report by dmiles_afk on Windows) > > > > > > You have more details in former mails : > > > > http://sourceforge.net/mailarchive/message.php?msg_id=30708162 > > http://sourceforge.net/mailarchive/message.php?msg_id=30476324 > > > > Enjoy ! > > -- > > Jean-Marc Vanel > > Déductions SARL - Consulting, services, training, > > Rule-based programming, Semantic Web > > http://deductions-software.com/ > > +33 (0)6 89 16 29 52 > > Twitter: @jmvanel ; chat: irc://irc.freenode.net#eulergui > > > > > -- > Jean-Marc Vanel > Déductions SARL - Consulting, services, training, > Rule-based programming, Semantic Web > http://deductions-software.com/ > +33 (0)6 89 16 29 52 > Twitter: @jmvanel ; chat: irc://irc.freenode.net#eulergui > -- Jean-Marc Vanel Déductions SARL - Consulting, services, training, Rule-based programming, Semantic Web http://deductions-software.com/ +33 (0)6 89 16 29 52 Twitter: @jmvanel ; chat: irc://irc.freenode.net#eulergui |
From: Jean-Marc V. <jea...@gm...> - 2013-05-26 20:30:11
|
Hi One more snapshot today : upgrades: - Euler to 2013-05 ; - OWL API to 3.4.4 - Jena latest ( TDB 0.10.1 => Jena 2.10.1 ) New FEATURE: try RDFa on an HTTP URL (and add resulting N3 to project) : implementation uses web service "http://www.w3.org/2012/pyRdfa/extract?uri="+url add a new program to generate a form from an ontology : samples/N3FormApp.java show Datatype Input error as tooltip; the incorrect field are red like in N3 Table tested with new examples/questionnaire.n3 add example of using a simple Prolog plugin in Euler/EYE : list_plugin.n3 + list.pl FIXES: save as new N3 project : sub-project was not there Opening an old XML project, saving it new N3/OWL project format and opening the new N3/OWL project reading main query from N3 project 2013/5/12 Jean-Marc Vanel <jea...@gm...> > > > Hi all > > I just uploaded a new snapshot at the usual place in EulerGUI Maven depot : > http://eulergui.sourceforge.net/maven2/eulergui/eulergui/2.0-SNAPSHOT/?C=M;O=D > > The change log has been updated thus : > > > [EulerGUI 2.0 ] > GUI > - new N3 projects OWL compatible > - in GUI or from command line, add N3 from abbreviated URL: well known prefixes are recognized, > e.g. dbpedia:Jimi_Hendrix , foaf: , sioc: , sioc:Role > ( uses prefix.cc web service ) > - CLIPS Inference Engine ( and N3 rule base for translating N3 to CLIPS ) > - Drools/N3 engine : use Euler Argument --pass to output the deductive closure, like Euler does > > Framework > - library updates : scala 2.10.1 ; euler 2013-04 ; Drools 5.5.1 > > FIX > - post-Processing with EYE Euler > - Now Euler / Eye can be stopped by clicking "Cancel" > - avoid troubles at EulerGUI startup when a broken graphviz is installed (report by dmiles_afk on Windows) > > > You have more details in former mails : > > http://sourceforge.net/mailarchive/message.php?msg_id=30708162 > http://sourceforge.net/mailarchive/message.php?msg_id=30476324 > > Enjoy ! > -- > Jean-Marc Vanel > Déductions SARL - Consulting, services, training, > Rule-based programming, Semantic Web > http://deductions-software.com/ > +33 (0)6 89 16 29 52 > Twitter: @jmvanel ; chat: irc://irc.freenode.net#eulergui -- Jean-Marc Vanel Déductions SARL - Consulting, services, training, Rule-based programming, Semantic Web http://deductions-software.com/ +33 (0)6 89 16 29 52 Twitter: @jmvanel ; chat: irc://irc.freenode.net#eulergui |
From: Jean-Marc V. <jea...@gm...> - 2013-05-12 14:06:35
|
Hi all I just uploded a new snapshot at the usual place in EulerGUI Maven depot : http://eulergui.sourceforge.net/maven2/eulergui/eulergui/2.0-SNAPSHOT/?C=M;O=D The change log has been updated thus : [EulerGUI 2.0 ] GUI - new N3 projects OWL compatible - in GUI or from command line, add N3 from abbreviated URL: well known prefixes are recognized, e.g. dbpedia:Jimi_Hendrix , foaf: , sioc: , sioc:Role ( uses prefix.cc web service ) - CLIPS Inference Engine ( and N3 rule base for translating N3 to CLIPS ) - Drools/N3 engine : use Euler Argument --pass to output the deductive closure, like Euler does Framework - library updates : scala 2.10.1 ; euler 2013-04 ; Drools 5.5.1 FIX - post-Processing with EYE Euler - Now Euler / Eye can be stopped by clicking "Cancel" - avoid troubles at EulerGUI startup when a broken graphviz is installed (report by dmiles_afk on Windows) You have more details in former mails : http://sourceforge.net/mailarchive/message.php?msg_id=30708162 http://sourceforge.net/mailarchive/message.php?msg_id=30476324 Enjoy ! -- Jean-Marc Vanel Déductions SARL - Consulting, services, training, Rule-based programming, Semantic Web http://deductions-software.com/ +33 (0)6 89 16 29 52 Twitter: @jmvanel ; chat: irc://irc.freenode.net#eulergui |
From: Jean-Marc V. <jea...@gm...> - 2013-04-10 18:03:13
|
Hi After some time spent on the General Artificial Intelligence tool NARS: > http://code.google.com/p/open-nars/source/list > > it's time to come back to EulerGUI ! > > There are 2 new features in this snapshot : > - 1. new N3/OWL project format becomes the default - 2. new CLIPS inference engine integration, internally using an N3 rule base *New N3/OWL project format * This format has been around for some time, but from now on it becomes the default. Here is a sample, saved from an old .n3p project file : http://svn.code.sf.net/p/eulergui/code/trunk/eulergui/examples/BloodPressure.n3p # Saved by EulerGUI on Wed Apr 10 18:47:51 CEST 2013 from file:/home/jmv/src/eulergui-code/eulergui/examples/bbBloodPressure.n3p.n3 @prefix owl: <http://www.w3.org/2002/07/owl#>. @prefix eg: <http://eulergui.sourceforge.net/engine.owl#>. @prefix proj: <http://eulergui.sf.net/ontology/project.owl.n3#>. <> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> < http://www.w3.org/2002/07/*owl#Ontology*> . <> <http://www.w3.org/2002/07/*owl#imports*> <BloodPressure.n3> . <> <http://eulergui.sf.net/ontology/project.owl.n3#hasN3Query> <catch_allQ.n3> . <catch_allQ.n3> <http://eulergui.sf.net/ontology/project.owl.n3#isMainQuery> true . <> <http://www.w3.org/2002/07/owl#imports> <popup-java2.n3> . <> <http://www.w3.org/2002/07/owl#imports> <popup-java.n3> . The default file extension is .n3p.n3 . The extension .owl should be later recognized also, but this raises more complexity : a plain OWL file could be opened in 2 ways : as a normal ontology, or as an EulerGUI project. There is a batch program in Scala to convert recursively all .n3p files in a directory: http://svn.code.sf.net/p/eulergui/code/trunk/eulergui/src/main/scala/eulergui/project/ProjectFormatMigration.scala The tests, examples, and internal rule bases have not yet been converted. By the way, as you can see here, the Subversion URL on Sourceforge has changed. This is reflected in the developer's doc.: https://sourceforge.net/p/eulergui/code/HEAD/tree/trunk/eulergui/html/development.html?format=raw Testing is welcome on the new format ! Every feature should be working, and we have many ! *CLIPS inference engine integration * * * CLIPS <http://en.wikipedia.org/wiki/CLIPS> is a venerable inference engine in C, an OO RETE engine like Drools. I wrote two N3 rule bases that translate N3 to CLIPS, one for the facts: https://deductions.svn.sourceforge.net/svnroot/deductions/clips/n3toclips.n3, and one for the rules: https://deductions.svn.sourceforge.net/svnroot/deductions/clips/n3rulestoclips.n3, with a rule flattening step first ( thanks to Jos de Roo for Euler enhancement for rule flattening ) : https://deductions.svn.sourceforge.net/svnroot/deductions/rule-process/flatten-rules.n3. So, currently, if you open this simple example with EulerGUI , and click on the CLIPS icon: > svn.code.sf.net/p/eulergui/code/trunk/eulergui/examples/BloodPressure.n3 > > Here is what you get in the standard output : > (defrule t0_1 > ( http://eulergui.sourceforge.net/examples#val > http://eulergui.sourceforge.net/examples#BloodPressure ?sk0_1 ) > (test ( > ?sk0_1 70 )) > => > (assert( http://eulergui.sourceforge.net/examples#alert > http://eulergui.sourceforge.net/examples#Service112 true )) > ) > Note that CLIPS is tolerant enough to accept a full URI as an identifier. I didn't try URI's between <> à la N3. Of course, this is just the first step. Facts should translated too, and ideally also the inferred CLIPS facts should be recovered as N3 . The goal is not really to have a new full fledged inference engine in EulerGUI, but rather to facilitate writing and testing N3 rules bases, that can be exported as CLIPS to develop CLIPS centered applications (e.g. for embedded applications). Note that Drools has some features for CLIPS, but they stopped working a while back. Also Protégé 3.X has 2 CLIPS like project files, one for the ontology, one for the facts; see: http://protege.stanford.edu/doc/design/clips.html More generally there are some efforts done on clips+semantic+web<https://www.google.fr/search?q=clips+semantic+web>. Like : http://iswc2011.semanticweb.org/fileadmin/iswc/Papers/In-Use/70320241.pdf The SNAPSHOT will be ready in about 15mn : take the most recent -jar-with-dependencies.jar from here : http://eulergui.sourceforge.net/maven2/eulergui/eulergui/2.0-SNAPSHOT/?C=M;O=D Enjoy ! -- Jean-Marc Vanel Déductions SARL - Consulting, services, training, Rule-based programming, Semantic Web http://deductions-software.com/ +33 (0)6 89 16 29 52 Twitter: @jmvanel ; chat: irc://irc.freenode.net#eulergui |
From: Jean-Marc V. <jea...@gm...> - 2013-04-10 16:44:06
|
After some time spent on the General Artificial Intelligence tool NARS: http://code.google.com/p/open-nars/source/list it's time to come back to EulerGUI ! There svn.code.sf.net/p/eulergui/code/trunk/eulergui/examples/BloodPressure.n3 (defrule t0_1 ( http://eulergui.sourceforge.net/examples#val http://eulergui.sourceforge.net/examples#BloodPressure ?sk0_1 ) (test ( > ?sk0_1 70 )) => (assert( http://eulergui.sourceforge.net/examples#alert http://eulergui.sourceforge.net/examples#Service112 true )) ) -- Jean-Marc Vanel Déductions SARL - Consulting, services, training, Rule-based programming, Semantic Web http://deductions-software.com/ +33 (0)6 89 16 29 52 Twitter: @jmvanel ; chat: irc://irc.freenode.net#eulergui |
From: Jean-Marc V. <jea...@gm...> - 2013-02-12 16:04:25
|
Hi Here are the Features considered for next version 2.0 of EulerGUI. Input welcome! - new OWL project format make a batch converter .n3p ==> OWL ; remove save as .n3p - dbPdepia disambiguation, using JSON API - URI or abridged URI keyboard input with combobox; based on ontology, or based on dbPdepia disambiguation: in framework in new N3 source from URI in editor - NLP analysis via web service NLP2RDF: to add skos:subject to an ontology or N3 source (from analysing rdfs:label , rdfs:comment , etc) - new inference engine: CLIPS ; suitable for embedded platforms - new inference engine: NARS ; for managing revisions & contradiction, learning; suitable for learning from user actions - RDF lists in TDB through EG API - performance enhancement in N3 table view for large data set - optimize simple queries using (parametrized?) Drools queries - generic form component in Scala - new builtins in Drools engine: language, datatype |
From: Jean-Marc V. <jea...@gm...> - 2013-01-19 12:07:10
|
Hi all I tentatively uploaded a release 1.13 . If there is some bug reported during the weekend , I can silently change it . Here it is: https://sourceforge.net/projects/eulergui/files/eulergui/1.13/ CHANGELOG : https://eulergui.svn.sourceforge.net/svnroot/eulergui/trunk/eulergui/CHANGELOG -- Jean-Marc Vanel Déductions SARL - Consulting, services, training, Rule-based programming, Semantic Web http://deductions-software.com/ +33 (0)6 89 16 29 52 Twitter: @jmvanel ; chat: irc://irc.freenode.net#eulergui |
From: Jean-Marc V. <jea...@gm...> - 2013-01-07 20:23:30
|
Happy new year all semantic guys and girls ! We worked on SPARQL, table views, and Jena TDB triple store. First, a bug on Windows prevented SPARQL queries to work in recent snapshots. In table view, for an URI (that is, an RDF resource), a cell value is a button that adds the URI to current project. It has an effect identical to the right click contextual command in N3 editor "eulergui-add-uri-to-project" . It adds the URI to current project (and then from the main window the N3 text, the table view, or the graph view can be viewed). It makes sense for Browsable graphs servers like dpdepia, or for ontology URI's . In SPARQL SELECT table, the displayed table is updated in place when the SPARQL source or end-point changes. Before that, the user was obliged to push again on table button. The values are now typed, so sorting on numeric column works. Datatype is shown as a tooltip in table header. A SPARQL "service" URI starting with file:/ is now interpreted as a TDB directory for Jena TDB triple store. So one can query a local database as easily as a remote HTTP endpoint. Note that there is an internal TDB directory at $HOME/.eulergui/TDBDatabases/Dataset1 that can be used, but this directory is not refered to in the GUI at the moment. A snapshot for revision 3413 is at the usual place : http://eulergui.sourceforge.net/maven2/eulergui/eulergui/1.13-SNAPSHOT/?C=M;O=D Enjoy ! -- Jean-Marc Vanel Déductions SARL - Consulting, services, training, Rule-based programming, Semantic Web http://deductions-software.com/ +33 (0)6 89 16 29 52 Twitter: @jmvanel ; chat: irc://irc.freenode.net#eulergui |
From: Melvin C. <mel...@gm...> - 2012-12-03 15:54:38
|
On 30 November 2012 13:02, Jean-Marc Vanel <jea...@gm...> wrote: > Hi Melvin and all > > Refering to your feature list: > https://github.com/taskify/taskify/wiki/Features > > my main feature is a Semantic management of contacts. > This involves tasks like writing mails, organizing meetings, writing > code samples, etc. > At the core there will be rules in N3 to trigger tasks like getting in > contact with people not too soon and not too late. > > There a other goodies like ontologies in taskify here : > https://github.com/taskify/taskify/wiki/_pages > > I worked on a IMAP to SPARQL connector (tested on Google). > It's a simple connector that mirrors the IMAP box into > a local TDB database, with a simple vocabulary directly related to the > IMAP fields. So the SPARQL queries will occur on the local IMAP > mirror. > I's work in progress : > http://eulergui.svn.sourceforge.net/viewvc/eulergui/trunk/eulergui_mail/ > > Also I need connectors for various JSON stuff ( Google contacts, > agenda, and also CKAN, etc ). > I intend to leverage on Scala parsers; there is a JSON example in book > Programming in Scala, 2nd edition - Martin Odersky. I hope to factor > the common things in converting JSON into N3. > > Then the next steps would be : > - create a contact manager in Swing/Scala with my N3 rule-based > EulerGUI framework > - do the same as web application with Echo3 or Apache Wicket frameworks > Hi Jean-Mark Still very much alpha, but I'm hoping to release version 0.1 by end of year. I've been looking at drivers between different task formats and I will have a public drivers repository, taskify-drivers. What this will do is hopefully have cartridges that will be able to transform one format to another, to allow interop, as much as possible. I've also been thinking about a taskify-bots repo that will contain a number of robots that people can write and use in order to perform various actions on your calendar and tasks. This can be anything from reminders, to prioritization, to general clean up. Right now i have modular components taskify-UI -- all uis taskify-data-server -- linked data server taskify-payments-server -- web credits server for payments taskify-drivers -- data interchange taskify-bots (soon) -- all sorts of robots taskify-hub -- a portal for distributed search of public tasks etc. Maybe euler could be used to make some bots. Kingsley has done a lot of work in this area, so I've CC'd him and Nathan. > > -- > Jean-Marc Vanel > Déductions SARL - Consulting, services, training, > Rule-based programming, Semantic Web > http://deductions-software.com/ > +33 (0)6 89 16 29 52 > chat : irc://irc.freenode.net#eulergui > |
From: Jean-Marc V. <jea...@gm...> - 2012-11-30 12:03:07
|
Hi Melvin and all Refering to your feature list: https://github.com/taskify/taskify/wiki/Features my main feature is a Semantic management of contacts. This involves tasks like writing mails, organizing meetings, writing code samples, etc. At the core there will be rules in N3 to trigger tasks like getting in contact with people not too soon and not too late. There a other goodies like ontologies in taskify here : https://github.com/taskify/taskify/wiki/_pages I worked on a IMAP to SPARQL connector (tested on Google). It's a simple connector that mirrors the IMAP box into a local TDB database, with a simple vocabulary directly related to the IMAP fields. So the SPARQL queries will occur on the local IMAP mirror. I's work in progress : http://eulergui.svn.sourceforge.net/viewvc/eulergui/trunk/eulergui_mail/ Also I need connectors for various JSON stuff ( Google contacts, agenda, and also CKAN, etc ). I intend to leverage on Scala parsers; there is a JSON example in book Programming in Scala, 2nd edition - Martin Odersky. I hope to factor the common things in converting JSON into N3. Then the next steps would be : - create a contact manager in Swing/Scala with my N3 rule-based EulerGUI framework - do the same as web application with Echo3 or Apache Wicket frameworks -- Jean-Marc Vanel Déductions SARL - Consulting, services, training, Rule-based programming, Semantic Web http://deductions-software.com/ +33 (0)6 89 16 29 52 chat : irc://irc.freenode.net#eulergui |
From: Jean-Marc V. <jea...@gm...> - 2012-11-15 12:03:47
|
Hi At last I've crossed the river ! There's now great oportunities to simplify the code. The recipy for building is now : mvn clean scala:compile mvn -Dmaven.test.skip=true package The test suite passes. The development documentation has the build recipy. Scala 2.10.0.RC2 is used . There is only 2 Scala files now :( . -- Jean-Marc Vanel Déductions SARL - Consulting, services, training, Rule-based programming, Semantic Web http://deductions-software.com/ +33 (0)6 89 16 29 52 chat : irc://irc.freenode.net#eulergui |
From: Jean-Marc V. <jea...@gm...> - 2012-11-13 19:20:35
|
Hi Currently EulerGUI is big monolithic piece of code, with lotsof dedendencies. It's not suitable for deployment of applications built the framework, or of the server, etc. So we want to split EulerGUI code into Maven modules. Dependencies will be: eulergui_core -> eulergui_api -> eulergui eulergui_core -> eulergui_api -> eulergui_server eulergui_core -> eulergui_eye -> eulergui_minimal -> eulergui cf http://maven.apache.org/guides/introduction/introduction-to-the-pom.html#Project_Inheritance_vs_Project_Aggregation There will be both Project Inheritance and Project Aggregation, with eulergui_parent being the parent and module owner. Directory structure will be: trunk ├── eulergui │ └── pom.xml├── eulergui_api │ └── pom.xml ├── eulergui_core │ └── pom.xml ├── eulergui_eye │ └── pom.xml ├── eulergui_minimal │ └── pom.xml ├── eulergui_parent │ └── pom.xml └── eulergui_server └── pom.xml The green ones will be created. Migration path: 1. in eulergui/ extract parent POM (currently pom.xml ) into ../eulergui_parent/pom.xml ; current pom_jar.xml becomes pom.xml ; ../eulergui_parent/pom.xml becomes module owner 2. trunk/eulerscala will disappear, and Scala build will become regular build changes in pom.xml 3. create empty eulergui_core, eulergui_api, eulergui_eye, eulergui_minimal each with a small POM, declaring the dependencies above 4. eulergui_server will become child of eulergui_parent , and dependent of eulergui_api 5. the code is still in eulergui/ ; I can begin to move some packages to eulergui_core, eulergui_api, eulergui_eye, eulergui_minimal ; I can begin to add Scala code, of replace some Java with Scala Maven module instead of just having dependency What's the point of having module instead of just having dependency to other projects , that I also manage ? I got my answer here : http://maven.apache.org/guides/introduction/introduction-to-the-pom.html#Project_Aggregation Comment welcome ! -- Jean-Marc Vanel Déductions SARL - Consulting, services, training, Rule-based programming, Semantic Web http://deductions-software.com/ +33 (0)6 89 16 29 52 chat : irc://irc.freenode.net#eulergui |
From: Jean-Marc V. <jea...@gm...> - 2012-11-11 12:46:17
|
Hi I am pleased to announce the release 1.12 of EulerGUI, a development tool and a framework for the Semantic Web and rules, under LGPL licence, in Java. The improvements mainly concern new features in Semantic Web client GUI, and SPARQL fixes. The full list is : GUI - New tool: if all properties and classes are not declared, generate a skeleton ontology for missing declarations - New tool: SPARQL 1.1 Update: enter SPARQL text and endpoint in a specific window with jEdit for SPARQL text - new N3 source: ATTEMPTO Controled English parser - new N3 source: Squall Controled English for SPARQL - print download time in console for SPARQL - enhance Graphviz generation for facts and rules - in field for entering an URL, return key triggers action - library upgrades : Euler 2012-11, Drools 5.0-Beta1 Framework N3 table cell: manage XSD types, represent Object properties as hyperlinks FIX - SPARQL: in case of error, syntax, or timeout, etc, show a warning popup - Drools/N3 engine : FIX _:d kb:retract ( ?S ?P false ) . ==== Download: https://sourceforge.net/projects/eulergui/ Documentation : http://eulergui.sourceforge.net/documentation.html Presentations, tutorials, videos, screenshots http://eulergui.svn.sourceforge.net/viewvc/eulergui/trunk/eulergui/html/documentation.html#L5890 Full Change Log : http://eulergui.svn.sourceforge.net/viewvc/eulergui/trunk/eulergui/CHANGELOG -- Jean-Marc Vanel Déductions SARL - Consulting, services, training, Rule-based programming, Semantic Web http://deductions-software.com/ +33 (0)6 89 16 29 52 chat : irc://irc.freenode.net#eulergui |
From: Jean-Marc V. <jea...@gm...> - 2012-09-08 06:52:26
|
Hi The ATTEMPTO Parse Engine (APE) is now APE integrated into EulerGUI Semantic Web tool. This a basic integration. It means that one can create or open an existing ACE file or URL (with the file suffix .ace or .txt ). Then one edits it in the editor (click on button "ORIGINAL") . When saving the file (with Control-S), the executable ape.exe (which must be in the path) is automatically launched with the arguments: -solo owlxml <file.ace> Then the APE output is visible by clicking on the leftmost button <file.ace> , as an N3 file. Since this N3 is part of the current EulerGUI, it is available to the rule engines. As for a "real" OWL or RDFS file, adding an ACE to the project also triggers the generation of rules from the OWL statements, and the SWRL, if there is some. As a icon for APE, I reused the ACEWiki icon. Note that using lexicons taylored for each vocabulary like it was presented at CNL 2012 [1] would require more "GUI sugar" . Also, the base URI used by APE is cannot be specified in this version. Errors are presented in a crude way. No completion is available in the editor at the moment. But certainly some of the code in ACEWiki could be reused. Anyway completion is not available at the moment in the EulerGUI jEdit editor for any syntax, but it is on the roadmap. Squall Controlled Natural Language [2] for SPARQL 1.1. is also integrated in a similar way (the executable squall2sparql must be in the path) . [1] http://eulergui.svn.sourceforge.net/viewvc/eulergui/trunk/eulergui/html/demo_cnl2012.html#(8) [2] http://www.irisa.fr/LIS/softwares/squall/ Download : this is a snapshot; take the latest jar-with-dependencies.jar in http://eulergui.sourceforge.net/maven2/eulergui/eulergui/1.12-SNAPSHOT/?C=M;O=D -- Jean-Marc Vanel Déductions SARL - Consulting, services, training, Rule-based programming, Semantic Web http://deductions-software.com/ +33 (0)6 89 16 29 52 chat : irc://irc.freenode.net#eulergui |
From: Jean-Marc V. <jea...@gm...> - 2012-09-05 09:28:18
|
Squall integration in EulerGUI : N3 configuration This time I'll do things more clean for Squall in EG , I first wrote an N3 config. file : squall a N3SourceType; rdfs:label "Squall"; rdfs:comment"From Controled english to SPARQL 1.1. - runs squall2sparql and launches SPARQL query"; reds:seeAlso <http://www.irisa.fr/LIS/softwares/squall>; extension ".squall"; javaN3Factory java:eulergui-project-N3SourceFromSquall; javaN3Widgets java:eulergui-gui-view-ButtonsForN3SourceFromSquall. and later other N3 source types should be retrofitted into this . While designing Squall integration, I though of this possible design for a Java method call or constructor on consequent side : @prefix eg: <http://eulergui.sourceforge.net/engine.owl#>. @keyword a. c a javaMethodCall; javaObject ?O; # or javaClass javaMethodName "methodName"; arguments ( ?X ?Y ); javaResult ?R. This is much more verbose than the simpler method call already existing: ?O javam:methodName ( ?X ?Y ) . but this mechanism does not offer any possibility to get hold of the return value. As with with the simpler method call already existing, it would be called ad soon as javaObject and all arguments are bound. And then javaResult will be bound to ?R. Internally it would create a DeferredMethodCall object in the Drools KB. What do you think ? -- Jean-Marc Vanel Déductions SARL - Consulting, services, training, Rule-based programming, Semantic Web http://deductions-software.com/ +33 (0)6 89 16 29 52 chat : irc://irc.freenode.net#eulergui |
From: Jean-Marc V. <jea...@gm...> - 2012-07-11 16:52:23
|
Example with ACE => OWL => N3 rules translation ATTEMPTO ACE is a controled Natural Language, that is, a formal language but looking like normal english. It is usable as a modeling and specification language for EulerGUI framework. Run APE in command line : % ape.exe -uri http://eulergui.sf.net/contact.owl -ulexfile foaf-lexicon.pl -text *'If P is a person that has-homepage something and has-current-project something then P is an n:interesting-contact .*' -solo owlxml > interesting-contact2.owl Run EulerGUI from command line , reading the OWL file just generated : eg interesting-contact2.owl htpp://jmvanel.free.fr/jmv.rdf jmv.rdf is my FOAF profile on the Internet. The translation of OWL into N3 is : @prefix ns2: <http://eulergui.sf.net/contact.owl#>. { ?VAR <http://xmlns.com/foaf/0.1/currentProject> ?t0. ?VAR <http://xmlns.com/foaf/0.1/homepage> ?t2. ?VAR a <http://xmlns.com/foaf/0.1/Person> } => { ?VAR a ns2:interesting-contact}. Now click on the button to launch Drools engine. Since the URI <htpp:// jmvanel.free.fr/jmv.rdf#me> ( that's me ) has a foaf:currentProjet and a foaf:homepage , it is inferred that he is an interesting-contact . To confirm this, one can either use the user Knowledge Base display in tools menu to see the whole KB. Or one can use the N3 shell to ask this query (just paste it with Ctrl-V) : ?X a ns2:interesting-contact . The answer appears at once : <http://jmvanel.free.fr/jmv.rdf#me> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://eulergui.sf.net/contact.owl#interesting-contact> . *Under the hood* There is a local lexicon file for ATTEMPTO APE : foaf-lexicon.pl<https://deductions.svn.sourceforge.net/svnroot/deductions/ape/foaf-lexicon.pl> , that tells how to verbalize the foaf concepts in english : cat foaf-lexicon.pl tv_finsg('has-homepage' , iri('http://xmlns.com/foaf/0.1/homepage') ). tv_infpl('have-homepage' , iri('http://xmlns.com/foaf/0.1/homepage') ). tv_finsg('has-current-project' , iri('http://xmlns.com/foaf/0.1/currentProject') ). tv_infpl('have-current-project' , iri('http://xmlns.com/foaf/0.1/currentProject') ). noun_sg( person, iri('http://xmlns.com/foaf/0.1/Person'), neutr) . noun_pl( persons, iri('http://xmlns.com/foaf/0.1/Person'), neutr) . *How to run the demonstration* 1. install ATTEMPTO APE, see http://attempto.ifi.uzh.ch/site/downloads/ 2. download foaf-lexicon.pl<https://deductions.svn.sourceforge.net/svnroot/deductions/ape/foaf-lexicon.pl> from the link 3. download EulerGUI , preferably the latest snapshot from http://sourceforge.net/projects/eulergui/files/eulergui/1.11/ ; that is an executable (Java) jar EulerGUI Manual is available from help menu 4. run commands as above I will commit this in the documentation here : http://eulergui.svn.sourceforge.net/svnroot/eulergui/trunk/eulergui/html/ac-owl-n3.html -- Jean-Marc Vanel Déductions SARL - Consulting, services, training, Rule-based programming, Semantic Web http://deductions-software.com/ +33 (0)6 89 16 29 52 chat : irc://irc.freenode.net#eulergui |
From: Jean-Marc V. <jea...@gm...> - 2012-07-07 09:17:45
|
Hi all The N3 table view now can be dynamically updated. See this example : https://eulergui.svn.sourceforge.net/svnroot/eulergui/trunk/eulergui/examples/table_app.n3p There is also an eclipse Java project : svn co https://deductions.svn.sourceforge.net/svnroot/deductions/samples/contact_table Here are some functionalities planned of N3 table view - add in tooltip : cell (property) type - update cell updates KB (can be disallowed) - show tooltip on column headers : show property's property - left click on cell : shows a form for the resource, or if it's a literal, a form for the URI of the row - right click on cell : similar to right click on EG editor: if it's a resource, menu items: show URI dereference in current table, show new table, open URI in web browser if it gives a HTML content - if it's a resource, show in cell either the prefixed from, or the RDFS label if there is one Refactor - remove inheritance on DefaultTableModel Other TODO's - Drools/N3 engine: * cache stores a Drools package for each N3 source having rules * implement e:optional, log:semantics, log:racine * fix dtlit * traceability from a triple to its source : e:source - add tooltip or mini-icons on N3 source row; in fact it's N3 queries like counting rules: ?A => ?B counting triples counting classes, properties definitions counting URI's as subject, URI's as object, as properties -- Jean-Marc Vanel Déductions SARL - Consulting, services, training, Rule-based programming, Semantic Web http://deductions-software.com/ +33 (0)6 89 16 29 52 chat : irc://irc.freenode.net#eulergui |
From: Jean-Marc V. <jea...@gm...> - 2012-06-13 11:11:45
|
Hi Again, you should delete $HOME/.m2/repository/com/owldl/pellet/2.2.2 as explained below. This time, I upgraded OWL API to 3.3 . I also updated Pellet on the EulerGUI Maven repository . ( OWL API Maven artefacts are on Sonatype repo https://oss.sonatype.org/content/groups/public/ ) . 2012/6/9 Jean-Marc Vanel <jea...@gm...> > 2012/6/9 Jean-Marc Vanel <jea...@gm...>: > > Hi all > > > > There are recent changes that can affect those of you who maintain a > > source build of EulerGUI. > > > > HISTORY > > First I uploaded Pellet jars to the Maven EulerGUI repository (as the > > previous repository disappeared). > > Some days later, I upgraded Jena and ARQ to latest version in Apache > > incubating project. > > Some more days later, I upgraded in the POM file for Pellet the Maven > > EulerGUI repository, the dependency towards Jena. > > > > SYMPTOM > > As a result, running EulerGUI in eclipse can fail with class not found. > > Runing mvn dependency:tree shows that Jena 2.6.3 is still there. > > > > REMEDY > > # Delete this directory: > > rm -r ~/.m2/repository/com/owldl/pellet/2.2.2 > > # Re-build EulerGUI and the eclipse configuration: > > mvn -Dmaven.test.skip=true install > > mvn eclipse:eclipse > > > > -- > > Jean-Marc Vanel > > Déductions SARL - Consulting, services, training, > > Rule-based programming, Semantic Web > > http://jmvanel.free.fr/ - EulerGUI, a turntable GUI for Semantic Web + > > rules, XML, UML, eCore, Java bytecode > > +33 (0)6 89 16 29 52 > > chat : irc://irc.freenode.net#eulergui > > > > -- > Jean-Marc Vanel > Déductions SARL - Consulting, services, training, > Rule-based programming, Semantic Web > http://jmvanel.free.fr/ - EulerGUI, a turntable GUI for Semantic Web + > rules, XML, UML, eCore, Java bytecode > +33 (0)6 89 16 29 52 > chat : irc://irc.freenode.net#eulergui > -- Jean-Marc Vanel Déductions SARL - Consulting, services, training, Rule-based programming, Semantic Web http://jmvanel.free.fr/ - EulerGUI, a turntable GUI for Semantic Web + rules, XML, UML, eCore, Java bytecode +33 (0)6 89 16 29 52 chat : irc://irc.freenode.net#eulergui |
From: Jean-Marc V. <jea...@gm...> - 2012-06-10 12:00:52
|
Hi There is a new feature in EulerGUI . When one is in the N3 editor (jEdit) , when right clicking on an N3 (RDF) resource, there is a new menu item "eulergui-launch-uri" . This menu item launches the default (platform) Web Browser on the URI corresponding to the N3 term at caret or cursor position. It was TESTED with unabrevated FOAF URI . I works also with N3 abbreviated resources like foaf:PersonalProfileDocument . For testing you can open my FOAF Personal Profile : http://jmvanel.free.fr/jmv.rdf There is a snapshot of EulerGUI minimal: Download: http://sourceforge.net/projects/eulergui/files/eulergui/1.11/ Implementation notes: * added in src/main/resources/org/gjt/sp/jedit : actions.xml , jedit_gui.props ( alternative at doing a regular jEdit plugin, as I don't know how to embed my plugin in the EulerGUI unique jar ) * TODO : documentation, DownloadURIAction like LaunchBrowserURIAction Twitted ! Enjoy ! -- Jean-Marc Vanel Déductions SARL - Consulting, services, training, Rule-based programming, Semantic Web http://jmvanel.free.fr/ - EulerGUI, a turntable GUI for Semantic Web + rules, XML, UML, eCore, Java bytecode +33 (0)6 89 16 29 52 chat : irc://irc.freenode.net#eulergui |