- dropping "has" as an implicit keyword (only fixed for Eye and EyeS)
- adding "Eye and OWL 2" page http://eulersharp.sourceforge.net/2003/03swap/eye-owl2.html
- correcting e:allDescendents and e:falseDescendents and improving their performance
- adjusting scope/span of fl:pi, e:allAncestors, e:allDescendents and e:biconditional builtins
- using e:valuation instead of e:strength to express (lower upper) valuation of a formula
[Euler-2009-06-29]
- updated ontologies and theories at http://eulersharp.sourceforge.net/#theories
- not writing qnames when there is a dot in the uri fragment identifier
- correcting math:integerQuotient and math:remainder according to Knuth's floored division
- fixing Eye and EyeS java wrapper
- adding EyeJ test cases http://eulersharp.sourceforge.net/2006/02swap/etc02
[Euler-2009-06-26]
- adding --no-branch command line switch
- value range of fl:sigma is now [0,1] and adjusted implementation of fl:pi builtin
- improved eye proof output speed with factor 4 (average over 55 test cases)
- correcting str:matches in eyes.pl
- decrease memory impact during proof output
- correcting list:append builtin so that the subject can be any list of lists
[Euler-2009-06-18]
- include the http://eulersharp.sourceforge.net/#theories resources in new file release
- updated Testing Euler section in http://eulersharp.sourceforge.net/2006/02swap/MAKE
- correcting divide by zero
- correcting varpred issue in ancestor/2
- updated ontologies and theories at http://eulersharp.sourceforge.net/#theories
- correcting e:allAncestors and e:allDescendents builtins
[Euler-2009-06-12]
- README for Euler yap engine for SWI-Prolog (Eyes)
- updated ontologies and theories at http://eulersharp.sourceforge.net/#theories
- adding e:allAncestors and e:allDescendents builtins
- correcting fl:pi implementation w.r.t. truth value intervals
- adding test case performance chart http://eulersharp.sourceforge.net/2003/03swap/etc.html
[Euler-2009-05-30]
- correcting time measurement in euler.pl
- improved speed of bayesian e:biconditional and fuzzy fl:pi inferencing
- adding measure of skolem euler machine efficiency
[Euler-2009-05-18]
- improving speed for e:graphIntersection (in one case from 44 hours to 0.7 sec)
- fixing nested bnodes i.e. when using bnodes within []
- implementing e:consistentGives of a e:falseModel
- adding euler.ProofEngine constructor to initialize an engine with rules and data which can be invoked with the queryProofEngine method
- using regular sigmoid in fl:pi
- adding ontologies agent.n3 countries.n3 document.n3 environment.n3 event.n3 foster.n3 languages.n3 unitsExtension.n3 xdsMetadata.n3
- improving euler.Process overhead
[Euler-2009-04-26]
- running Eye with YAP version Yap-6.0.0
- supporting log:dtlit builtin
- improving euler.ProofEngine overall speed
- correcting euler.Parser
- improving euler.ProofEngine proof output
[Euler-2009-03-28]
- euler.ProofEngine replacing euler.Egg
- relaxed parsing of qnames
- fixing sem/1 Horn engine and drop e:reflexive builtin
- fixing e:findall bug
- adding euler.ProofEngine
- initial Euler yap engine for SWI-Prolog (Eyes)
- correcting str:concatenation so that the subject is a list of strings
[Euler-2009-03-15]
- Egg producing proofs that can be checked with cwm/check.py
- fixing e:tuple blank node labeling
- adding Egg i.e. Euler for GridGain
- adding eye math:atan2, math:cosh, math:sinh and math:tanh builtins
- adding eye --pass to pass-thru the N3
- fixing issues with prolog =:= and running yap without -s thanks to Vitor for fixing
- adding fl:pi builtin and testing http://eulersharp.sourceforge.net/2003/03swap/fl-rules.n3
[Euler-2009-02-22]
- adding --profile switch to euler.yap
- tuning Yap parameters and yap -s 100000 euler.yap seems to be happy with all test cases
- show qnames with empty local name in proof output
- bug in N3 output corrected
- adding e:propertyChainExtension builtin and running owl-rl test cases
- builtin e:roc to simulate ROC curve
- adding more --debug info
[Euler-2009-02-10]
- adding Eye.java as Euler Yap Engine wrapper
- correcting datetime DCG
- improving exception handling
- checking for invalid langcode and checking for valid qname
- adding more --debug info
- added comprehension limit exception to euler.yap engine
[Euler-2009-01-31]
- adding e:nonLabel builtin plus testing http://eulersharp.sourceforge.net/2003/03swap/fl-rules.n3
- adding eye --debug --version --help and using wget network utility
- correcting euler --sql conversion
- correcting @forSome in proof output
- supporting inverse triple and inverse rule declaration
- where possible blank nodes are now relabeled using the original label
- the empty graph {} is always interpreted as true
- correcting e:consistentGives graph
- proof all e:conditional triples so that e:biconditional builtin has explicit assumptions
[Euler-2009-01-22]
- correcting empty graph representation issues
- correcting log:uri builtin
- correcting utf8 issues
- improved N3 to PCL compiler
- improved N3 parser error handling
[Euler-2009-01-12]
- initial release of EYE which is the euler.yap engine including an N3 to PCL compiler
- adding fn:substring builtin
- improving e:biconditional bayesian inferencing
- correcting bnode handling in lists used in ontologies
- simplified fn:resolve-uri implementation
[Euler-2008-12-11]
- SEM reasoner working with YAP
- quick conditional qc/3 using log so that it can keep precision when there are e.g. 20000 nodes
- updating http://eulersharp.sourceforge.net/GUIDE
- correcting resolve urn plus adding flag(keywords)
- e:tactic can be derived using N3 rules
[Euler-2008-11-04]
- SEMJ tested for 74 cases and the average speed is now 1.5 times slower than with SWI-Prolog
- correcting an exception with varpred in proof output
- reimplementation of log:conjuction to improve performance
- added euler --quick switch for optimized runtime
- correcting getnumber/2 for typed literals
- tuning http://eulersharp.sourceforge.net/2007/07test/pd_hes_tactic.n3
- introducing e:tactic to support N3 based proof tactics
[Euler-2008-10-21]
- simplify pcl intermediate code
- using tactic/3 for proof tactics
- correcting e:graphDifference builtin
- added euler --quiet switch to give shorter explanation at improved speed
- implementing euler --pass --trules to convert t-rules in e:conditional descriptions
[Euler-2008-10-06]
- SEMJ tested for 79 cases and the average speed is 2.8 times slower than with SWI-Prolog
- added e:sigmoid builtin
- SEMJ based on JLog
[Euler-2008-09-20]
- improving N3 to pcl compilation
- fixed e:biconditional for a given that is inconsistent
- adding e:label builtin to get the blank node label of the subject (this is a level breaker)
- adding "Euler under the hood" and "Prolog Coherent Logic (PCL)" to GUIDE
- fix resolving file: uris
- reviewed bnode labeling
- fix resolving http://localhost/.context+abc uris as if they were data:,abc uris
- correcting euler.Codd.dir()
[Euler-2008-08-31]
- simplify euler --sql and tested with http://www.zentus.com/sqlitejdbc/ using codd JDBC connector
- adding setPrintStream and getPrintStream methods to jTrolog.engine.Prolog to support concurrent reasoning
- order of magnitude reduced SEMJ memory footprint
- correcting the use of variables in proof output
- using JDK regular expression utilities
[Euler-2008-08-15]
- correcting e:graphDifference builtin
- adding r:gives in e:falseModel description
- extending e:falseModel description with e:consistentGives using --think
- adding e:graphIntersection builtin
- adding e:graphDifference builtin
- correcting empty graph output
[Euler-2008-08-04]
- simplify skolem machine tape chaining
- fixing log: builtins to deal with empty graphs
- adding del_step/4 in Skolem machine and correcting bug with varpred in proof output
- elaborated e:falseModel explanation
- new variable verb strategy plus correcting proof for facts provenance
- correcting typed literal conversion
- fix issues with concurrent SEM Codd services
- correction for e:falseModel and introduction of e:possibleModel
[Euler-2008-07-19]
- finding all inconsistencies using e:falseModel {}
- adding e:because to explanation of e:falseModel
- correcting log:semantics and log:implies when subject or object is a variable
- improved memory footprint during SEM proof output
- resolving http://localhost/.context+abc uris as if they were data:,abc uris
- false and "false"^^xsd:boolean are now fine in the conclusion of a rule
- shorten proof output
- correcting e:biconditional builtin and reviewed bnode labeling
- implementing HTTP HEAD method in Codd.java and using text/n3 Content-Type for n3 content
- improved SEM command line java euler.EulerRunner --sem --test [--nope] [--rules|--trules] uris --query|--tquery uri
[Euler-2008-06-22]
- SEM Skolem Euler Machine jTrolog v2.1 based
- adding web/2 SEMLibrary builtin
- correcting issues with blank nodes in rule/query conclusions
- updated jtrolog.jar according to latest changes from Ivar in https://jtrolog.dev.java.net/svn/jtrolog/trunk
- use e:disjunction and see also http://lists.w3.org/Archives/Public/public-cwm-talk/2008AprJun/att-0011/00-part
- drop e:prune builtin
[Euler-2008-06-11]
- SEMJ which is jTrolog based is running http://eulersharp.sourceforge.net/2007/07test/semj_test.ref
- correcting log:semantics for 404 Not Found
- correcting fn:substring-after
[Euler-2008-06-09]
- initial SEMJ which is now jTrolog based (adapted jtrolog.jar included and much thanks to Ivar)
- correcting temporal reasoning primitives
[Euler-2008-05-31]
- updating http://eulersharp.sourceforge.net/GUIDE
- adding Codd application/sparql-query MIME Type
- correcting e:biconditional builtin
- correcting jDateTime for timezone
[Euler-2008-05-25]
- using modified JLog to have double precision arithmetic
- fixing bnode issues for SEMJ and dropping --data switch
- adding e:wwwFormEncode SEMJ builtin
- remove duplicate answers for SEMJ --nope
[Euler-2008-05-21]
- initial SEMJ now JLog based
[Euler-2008-05-15]
- initial SEMJ tuProlog java based SEM reasoner
- model inconsistency as rule with => false
- correcting 9 year old bug in Euler toString()
- correcting proof output for keywords and for 1-arities
- correcting N3 proof output for conjunctions
- correct e:falseModel and correct SEM --nope
[Euler-2008-05-01]
- SEM engine now produces N3 proof output and obsoletes sem_tape.pl
- improve --test-as performance
- new SEM engine with better determinism and speed
- improve e:biconditional performance
- adjust some default mime-types in Codd.java
[Euler-2008-04-21]
- correcting coroutining for builtins
- simplifying e:biconditional
- adding e:counterModel and e:falseModel triples in proof output
[Euler-2008-04-11]
- testing t-rules with SEM using --trules and --tquery
- testing existentials in the head
- adding e:biconditional builtin
- improving N3 proof output with sem_tape.pl
- correcting proof output using @keywords and correcting log:implies builtin
[Euler-2008-03-25]
- extend sem_tape.pl proof tester to return N3 proofs by default
- builtin .SEM and .SEMI codd services
- adding --horn command line swith used in sem.pl to have engine with horn logic only
[Euler-2008-03-19]
- adding optional --data and --rules command line arguments
- adding e:sublist and e:pair builtins and tested with http://www.agfa.com/w3c/euler/einstein.n3
- euler --sem to convert N3 input to sem.pl input and sem_tape.pl to check proof and return N3 answer
- adding sem_tape proof output
- adding builtin e:distinct to remove duplicate list items
- prototype Skolem Euler Machine sem.pl tested with ./sem < test011.in
- correcting e:optional for --prolog-bchain
- always output the e:delta triples for --prolog-bchain
[Euler-2008-03-06]
- correcting implementation of log:equalTo and log:notEqualTo
- avoid catch in e:optional
- adding step/3 in euler.pl to improve euler path detection
[Euler-2008-02-25]
- correcting e:true to model truth-value t(conclusion|premises)
- correcting --sql conversion and e:max and e:min
- implementing e:findall for --prolog-bchain reasoning
- simplifying skeleton/2 predicate
- correcting log:semantics for failure
- adding e:optional builtin to call object formula and to succeed anyway
- assert rdf:Property members using --prolog --think
- correcting query with variable verb in conclusion
- keep e:delta only when flag('e:pe')
[Euler-2008-01-19]
- translate jena message when your_file.n3 or your_file.rdf is not found
- adding N3 parsing support for the <= shorthand
- using N3 shorthands in proof/result output
- correcting renaming of variables for nested log:implies
- correcting proof instrumentation for nested log:implies
- make list:append a deterministic builtin
- remove redundancy in proof output
[Euler-2008-01-06]
- updated http://eulersharp.sourceforge.net/GUIDE
- correcting str:matches and adding e:tokenize for regular expressions
- using e:delta measure in proof output
[Euler-2007-12-22]
- adding 404 Not Found reply in Codd.java
- adding http://eulersharp.sourceforge.net/2007/07test/biP.n3 test cases
- correcting math: builtins for plain literals
- improved euler5s math: builtins to calculate with xsd:dateTime and xsd:duration
- test to select between redundant models
- added GUIDE appendix
- added inconsistency checks plus preliminary explanation
[Euler-2007-12-12]
- full logical belief rules via belief(C|P) = belief(P,C)/belief(P)
- using e:proofID and e:bayesRule in proof output
[Euler-2007-12-06]
- refining skeleton and no multiple choice anymore
- no minimal model requirement anymore
[Euler-2007-12-02]
- adding e:skeleton and correcting for pure belief calculus in euler.pl
- correcting graph source bug for euler lemma case
- adding euler5s --profile option and tuning performance
- adding euler5s exception handling
- using MD5 hashes to abbreviate .context URI's
- correcting .euler --sql service
[Euler-2007-11-20]
- adding euler5 SWI Prolog support
- correcting plain literals with language tag
- correcting math:quotient in euler52
- adding .IPaddress codd service
- correcting list:member and list:append
- improved HTTP request header read with cleanup socket garbage
[Euler-2007-11-07]
- correcting Codd string clipping bug and improved HTTP request header read
- updated http://eulersharp.sourceforge.net/GUIDE
- added .euler51 Codd service and added --test-as euler command line option and updated README
- improving time: builtins and adding e:T0 and e:timeWindow
- adding fn:substring-after and fn:substring-before builtins
[Euler-2007-10-25]
- improving string processing with starts_with/2, ends_with/2, unquote/2 and concat/2
- proof output speed 5 times faster with qname/3
- correcting some list builtins
- correcting .context service and correcting N3 serialization
- why/4 with m3eb to resolve same model with same entropy
[Euler-2007-10-23]
- correcting bnodes for --nope and fixing e:findall in query
- drop belief rule description and only have belief rule results
- why/4 with m3e
- adding N3 support for true and false keywords
- EulerLib memo predicates
- simplifying builtins (remove the assert fact)
- simplifying step/10
[Euler-2007-09-25]
- removing step/3
- correcting --nefq when object of e:true is a variable
- adding positive/1 and using maximum positive belief for variants in why/4
- correcting Codd localhost issue
[Euler-2007-09-14]
- http://eulersharp.sourceforge.net/2006/02swap/etc5a running in pure java
- added --test to java euler.EulerRunner to output test run
- supporting N3 @base
- corrected missing dot in proof output
[Euler-2007-09-09]
- builtin .wget in Codd.java
- slightly improved log:includes speed (up to 30%)
- correcting write_proof/0 and step/3 for incompleteness
- correcting log:semantics for euler52 and euler.yap
- tuprolog workaround for Int.unify and Long.unify
[Euler-2007-09-03]
- initial euler52 backward-forward-backward chainer
- optimized --nobe option
- euler.pl is now embedded in EulerLibrary.java
- initial EulerLibrary.java giving times 3 speed improvement for etc5a test run
- tuprolog workaround for OneWayList transform(List list) stackoverflow and testing uid
[Euler-2007-08-26]
- initial tuprolog euler.pl version
- correcting bug in proof output
[Euler-2007-08-09]
- euler.yap refactoring and 4 to 10 times speed improvement
- adding 2007/07test/m3b test
[Euler-2007-08-04]
- removing e:Variant and adding e:premises
- adding --nobe switch (no belief explanation)
- correcting some --nefq issues
- adding euler3, euler4 and euler5 entailment test cases
- variants have same proof state but *different* belief and now 2007/07test/pt is 100 times faster
[Euler-Antichthonidris-bidentatus 2007-07-08]
- added euler --sql to translate triples into sql
- added codd support for http://host.domain/dbname?SQL=sql services
- using max values for variants (instead of avg or rms values)
- using qname for e:source object
- correcting Codd jdbc
- correcting proof/4 and why/2 and why/1
[Euler-Anoplolepis-nuptialis 2007-06-24]
- extending proof output
- adjusting why/5
- adding some Expires: -1 http reply headers in Codd webizer
- preliminary guide http://eulersharp.sourceforge.net/GUIDE
[Euler-Aneuretus-simon 2007-06-16]
- extra euler path lemma case in step/7 boosting speed several orders of magnitude
- added euler --nefq (no ex falso quodlibet) switch and update euler --help
- asserted triples are translated to rule/2 (using .euler --prolog-bchain)
- refined proof/4
[Euler-Anergates-atratulus 2007-06-10]
- correcting step/7 and proof/4 to get deterministic proof results
- use proof_state/4 to cache proof fragments
- using step/4 for facts
- using goal/2 to simplify things a bit more
- additional description of reasoner results using e:conclusion, e:beliefValue, e:informationValue
[Euler-Adetomyrma-venatrix 2007-05-26]
- introduced why/7 to have desired mathematical properties for e:true
- critical correction of euler path lemma case
- simplified things for facts and builtins
[Euler-Acanthomyops-murphii 2007-05-13]
- svn repository at https://eulersharp.svn.sourceforge.net/svnroot/eulersharp/
- using rule/2 instead of clause/2
- added e:inverseEntropy as 1 - binaryEntropy
[Euler-Acanthomyops-latipes 2007-05-05]
- a bit more N3 for the --prolog-bchain proof output
- keep proof state using proof/5
- query as horn rule
[Euler-1.5.45 2007-04-22]
- reordering and correcting step/5 predicate
- query is to deduce rules
- conclusions with variable verb are a not_yet_implemented when bchain
- added relationships to log-rules
[Euler-1.5.44 2007-04-13]
- now can also do backchain only inferencing (use .euler --prolog-bchain)
- adding e:boolean and e:true predicates
- correction of variable verb representation in proof output
- speedup Parser.java
- adding e:binaryEntropy builtin
[Euler-1.5.43 2007-03-08]
- Codd HTTP reply header always having Content-Type
- added chatty flag for bayesian
- exceeding process.ttl now returns a HTTP error code 500 Internal Server Error
- scoped e:bayesian to have data sources in proof
- improved e:bayesian performance using independency test
- adding e:ruleOfThree builtin
[Euler-1.5.41 2007-02-10]
- fix e:tuple for Yap-5.1.2
- improved e:bayesian performance using sorting and reordering
- adding e:max and e:min builtins
- improved e:bayesian performance using blackboard
[Euler-1.5.40 2007-01-20]
- make sure that every uri has a qname too
- changed toPrologString for numerals
- euler.Codd with --properties file plus fixing the service.* properties
- adding e:sort, e:reverse and e:prune builtins
- process.* properties in codd.properties ending with -- are with piped input
- adding e:length builtin
[Euler-1.5.38 2007-01-02]
- initial euler5 json support
- use mapping.* codd properties in euler1
- added time:year, time:month and time:day builtins
- fixing parsing of { ?X [ rdfs:range ?C ] ?Y } => { ?Y a ?C }.
- e:findall least model
- implement logarithm via math:exponentiation
[Euler-1.5.37 2006-11-30]
- correct e:bayesian result and speed improvement using memoization
[Euler-1.5.36 2006-11-20]
- correct e:bayesian for conditional inferencing
- adding fn:resolve-uri and log:conjunction builtin and correcting log:uri
[Euler-1.5.35 2006-11-09]
- adding list:first, list:rest, list:last, list:in, list:member, list:append and log:uri builtins
- correction in proof output; thanks to Dan Connolly
- add http port number support
- fix problem with tab
- cache log:semantics and correct for nonxexistent resources
- correct e:bayesian for conditional inferencing
[Euler-1.5.34 2006-10-20]
- updated README with "Just running Euler via RESTfull webservice"
- added e:bayesian builtin and using e:depends to describe first order bayesian networks
- added primitive mapping feature in Codd
[Euler-1.5.33 2006-10-17]
- simplified euler5 core engine
- subject of math:sum and math:product can have more than 2 items
- test with e:ScopedProperty
- added math:memberCount builtin
[Euler-1.5.32 2006-09-15]
- support N3 @keywords and default names
- drop e:no and use e:findall with empty answer instead
- occurs check not needed for deduction over rational tree models
- simplified pi-rules.n3 and moved original version to pi-calc.n3
- implementing e:tuple and map functional terms to (fn x1 ... xi)
- using var: in proof output
[Euler-1.5.31 2006-08-19]
- added lldm test case
- improving euler5 core engine
- added pi:Port and pi:Message in pi-rules.n3
[Euler-1.5.30 2006-08-05]
- using call in core engine
- correcting for owl:sameAs
- reshuffle dynamic declarations
- correcting for instrument
[Euler-1.5.28 2006-07-15]
- added more @forSome in proof and check more proofs
- use log:implies instead of ==> and improved lf inferencing
- fix Codd HTTP reply headers
- correcting N3 parser for verb repetition
- correcting e:no and e:findall with done/0 and do/0
- fix bnode in list
[Euler-1.5.27 2006-07-01]
- correcting e:no and e:findall
- no empty result for e:findall
- no proof explanation with -nope running 4 times faster
- testing equality theory
- fixing toProlog
[Euler-1.5.26 2006-06-18]
- correcting bnodes for check.py
- added equality theory to rpo-rules.n3 and 'ignored' it in euler1 as it is builtin there
- corrected e:trace
[Euler-1.5.25 2006-06-11]
- using r:Fact and r:source as suggested by Dan Connolly and test with check.py
- fixing log:semantics
- added e:findall and e:no (again)
[Euler-1.5.24 2006-06-04]
- using swap/reason for proofs
- avoid the HTTP/1.0 504 Gateway Timeout
- using e:scope and log:notIncludes
[Euler-1.5.23 2006-05-28]
- updated N3 <-> yap tranlation
- using proof structure as: feedlist e:rpn3 proofstack
- using kb Scoped Negation As Failure as: feedlist e:no triple
[Euler-1.5.22 2006-05-26]
- added euler5 flag('e:nope') when no proof explanation
- added waitFor() in Process.java to avoid the "# No proof found: timeout"
- direct euler5 fetching from euler1
[Euler-1.5.20 2006-05-20]
- N3 RPN proof style using e:enter, e:imply and e:prove
- backchaining in proof engine
- correcting some builtins and using coroutining
[Euler-1.5.18 2006-05-14]
- added euler1 switch --pterm to produce a prolog term needed for euler5 log:semantics
- added "Exon query" and "Test builtins" test cases to etc5
- corrected euler5 log:semantics
- added euler5 log:includes and log:notIncludes
- added euler5 string builtins
- made bnode label generation thread safe in Codd.java
- added extra destroy() in Process.java to avoid the "Too many open files" bug
[Euler-1.5.16 2006-05-07]
- euler5 variable predicates
- euler5 log:semantics
- euler5 N3 output
[Euler-1.5.14 2006-04-30]
- euler5 adding theorem explanations
- README http://eulersharp.sourceforge.net/2006/02swap/README
[Euler-1.5.12 2006-04-28]
- further testing euler5 which is written in Prolog
[Euler-1.5.10 2006-04-21]
- preliminary euler5 which is written in Prolog