{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/108018"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/108018","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"Possible worlds explorer: Combining declarative programming with user-friendly Jupyter Notebooks","abstract":"\"Datalog and Answer Set Programming (ASP) are powerful languages for rule-based database querying and constraint solving, respectively. Similarly, Python is a popular and powerful procedural programming language with applications in many domains including data science. I have developed a problem solving framework called \"\"Possible Worlds Exploration\"\" which is based on combining the two programming paradigms to enable new exploration and problem solving capabilities for a wide audience of users. The primary component of this framework is the Possible Worlds Explorer (PWE), an open source Python-based toolkit that employs Jupyter Notebooks to make working with Datalog and ASP systems easier and more productive. PWE can parse output from different ASP reasoners (Clingo and DLV) and then run analytical queries over all answer sets or \"\"possible worlds\"\" (PWs), e.g., to calculate relative frequencies of atoms across PWs or to hierarchically cluster PWs based on user-defined complexity and similarity measures. PWE also has support for the three-valued well-founded semantics of Datalog programs (via DLV) and temporal models that use a special state argument. Using simple Python functions, generic as well as user-definable presentation and visualization formats can be easily created, e.g., to display all PWs (world views), the unique three-valued well founded model (partial views), and temporal models (timelines and time series). We have illustrated several examples, both theoretical and application-based, to showcase the abilities of PWE. We provide containerized versions of PWE that can be run in the cloud or locally. In this way the Possible Worlds Explorer makes Datalog and ASP more accessible for a wider audience.\"","abstract_html":"&quot;Datalog and Answer Set Programming (ASP) are powerful languages for rule-based database querying and constraint solving, respectively. Similarly, Python is a popular and powerful procedural programming language with applications in many domains including data science. I have developed a problem solving framework called &quot;&quot;Possible Worlds Exploration&quot;&quot; which is based on combining the two programming paradigms to enable new exploration and problem solving capabilities for a wide audience of users. The primary component of this framework is the Possible Worlds Explorer (PWE), an open source Python-based toolkit that employs Jupyter Notebooks to make working with Datalog and ASP systems easier and more productive. PWE can parse output from different ASP reasoners (Clingo and DLV) and then run analytical queries over all answer sets or &quot;&quot;possible worlds&quot;&quot; (PWs), e.g., to calculate relative frequencies of atoms across PWs or to hierarchically cluster PWs based on user-defined complexity and similarity measures. PWE also has support for the three-valued well-founded semantics of Datalog programs (via DLV) and temporal models that use a special state argument. Using simple Python functions, generic as well as user-definable presentation and visualization formats can be easily created, e.g., to display all PWs (world views), the unique three-valued well founded model (partial views), and temporal models (timelines and time series). We have illustrated several examples, both theoretical and application-based, to showcase the abilities of PWE. We provide containerized versions of PWE that can be run in the cloud or locally. In this way the Possible Worlds Explorer makes Datalog and ASP more accessible for a wider audience.&quot;","abstract_has_math":false,"creators":["Gupta, Sahil"],"institution":"University of Illinois at Urbana-Champaign","degree_name":"M.S.","degree_level":"Thesis","degree_discipline":"Computer Science","degree_department":null,"school":null,"contributors":["Ludäscher, Bertram"],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2020,"date_issued":"2020-08-26T21:57:58Z","date_published":"2020-08-26T21:57:58Z","updated_at":"2026-07-22T22:24:47Z","subjects":["Datalog","Answer Set Programming","ASP","Clingo","DLV","Stable Model","Well-founded","Python","Tool","Open source","Possible Worlds","Possible Worlds Explorer","Jupyter","Notebook","Jupyter Notebook","IPython","Visualizations","Framework","PWE Framework","PWE-NB-Extension","Declarative Programming","Provenance","Datalog Debugging","Euler","LeanEuler","Taxonomy Alignment","TAP","CleanTax","Education","WODB"],"languages":["en"],"rights":["Copyright 2020 Sahil Gupta"],"rights_urls":[],"identifier_entries":[]},"links":{"outbound_url":"http://hdl.handle.net/2142/108018","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Ludäscher, Bertram"]},{"key":"dc:creator","label":"Author","values":["Gupta, Sahil"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2020-08-26T21:57:58Z","2020-05-11","2020-05"]},{"key":"dc:type","label":"Dc Type","values":["text","Thesis"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Computer Science"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Thesis"]},{"key":"thesis:degree_name","label":"Degree Name","values":["M.S."]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["University of Illinois at Urbana-Champaign"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Datalog","Answer Set Programming","ASP","Clingo","DLV","Stable Model","Well-founded","Python","Tool","Open source","Possible Worlds","Possible Worlds Explorer","Jupyter","Notebook","Jupyter Notebook","IPython","Visualizations","Framework","PWE Framework","PWE-NB-Extension","Declarative Programming","Provenance","Datalog Debugging","Euler","LeanEuler","Taxonomy Alignment","TAP","CleanTax","Education","WODB"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["en"]},{"key":"dc:rights","label":"Dc Rights","values":["Copyright 2020 Sahil Gupta"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["http://hdl.handle.net/2142/108018"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["\"Datalog and Answer Set Programming (ASP) are powerful languages for rule-based database querying and constraint solving, respectively. Similarly, Python is a popular and powerful procedural programming language with applications in many domains including data science. I have developed a problem solving framework called \"\"Possible Worlds Exploration\"\" which is based on combining the two programming paradigms to enable new exploration and problem solving capabilities for a wide audience of users. The primary component of this framework is the Possible Worlds Explorer (PWE), an open source Python-based toolkit that employs Jupyter Notebooks to make working with Datalog and ASP systems easier and more productive. PWE can parse output from different ASP reasoners (Clingo and DLV) and then run analytical queries over all answer sets or \"\"possible worlds\"\" (PWs), e.g., to calculate relative frequencies of atoms across PWs or to hierarchically cluster PWs based on user-defined complexity and similarity measures. PWE also has support for the three-valued well-founded semantics of Datalog programs (via DLV) and temporal models that use a special state argument. Using simple Python functions, generic as well as user-definable presentation and visualization formats can be easily created, e.g., to display all PWs (world views), the unique three-valued well founded model (partial views), and temporal models (timelines and time series). We have illustrated several examples, both theoretical and application-based, to showcase the abilities of PWE. We provide containerized versions of PWE that can be run in the cloud or locally. In this way the Possible Worlds Explorer makes Datalog and ASP more accessible for a wider audience.\"","Submission original under an indefinite embargo labeled 'Open Access'. The submission was exported from vireo on 2020-08-25 without embargo terms","The student, Sahil Gupta, accepted the attached license on 2020-05-08 at 11:58.","The student, Sahil Gupta, submitted this Thesis for approval on 2020-05-08 at 12:14.","This Thesis was approved for publication on 2020-05-11 at 13:24.","DSpace SAF Submission Ingestion Package generated from Vireo submission #15293 on 2020-08-25 at 17:13:29","Made available in DSpace on 2020-08-26T21:57:58Z (GMT). No. of bitstreams: 2 GUPTA-THESIS-2020.pdf: 9645619 bytes, checksum: 7cddedaa0daff10449bbc775af5834d0 (MD5) LICENSE.txt: 4208 bytes, checksum: 36c9b3f9593202cab0e1a98edf91e325 (MD5) Previous issue date: 2020-05-11"]},{"key":"dc:format","label":"Dc Format","values":["application/pdf"]},{"key":"dc:title","label":"Title","values":["Possible worlds explorer: Combining declarative programming with user-friendly Jupyter Notebooks"]}]}],"canonical_facts":{"dc:contributor":["Ludäscher, Bertram"],"dc:creator":["Gupta, Sahil"],"dc:date":["2020-08-26T21:57:58Z","2020-05-11","2020-05"],"dc:description":["\"Datalog and Answer Set Programming (ASP) are powerful languages for rule-based database querying and constraint solving, respectively. Similarly, Python is a popular and powerful procedural programming language with applications in many domains including data science. I have developed a problem solving framework called \"\"Possible Worlds Exploration\"\" which is based on combining the two programming paradigms to enable new exploration and problem solving capabilities for a wide audience of users. The primary component of this framework is the Possible Worlds Explorer (PWE), an open source Python-based toolkit that employs Jupyter Notebooks to make working with Datalog and ASP systems easier and more productive. PWE can parse output from different ASP reasoners (Clingo and DLV) and then run analytical queries over all answer sets or \"\"possible worlds\"\" (PWs), e.g., to calculate relative frequencies of atoms across PWs or to hierarchically cluster PWs based on user-defined complexity and similarity measures. PWE also has support for the three-valued well-founded semantics of Datalog programs (via DLV) and temporal models that use a special state argument. Using simple Python functions, generic as well as user-definable presentation and visualization formats can be easily created, e.g., to display all PWs (world views), the unique three-valued well founded model (partial views), and temporal models (timelines and time series). We have illustrated several examples, both theoretical and application-based, to showcase the abilities of PWE. We provide containerized versions of PWE that can be run in the cloud or locally. In this way the Possible Worlds Explorer makes Datalog and ASP more accessible for a wider audience.\"","Submission original under an indefinite embargo labeled 'Open Access'. The submission was exported from vireo on 2020-08-25 without embargo terms","The student, Sahil Gupta, accepted the attached license on 2020-05-08 at 11:58.","The student, Sahil Gupta, submitted this Thesis for approval on 2020-05-08 at 12:14.","This Thesis was approved for publication on 2020-05-11 at 13:24.","DSpace SAF Submission Ingestion Package generated from Vireo submission #15293 on 2020-08-25 at 17:13:29","Made available in DSpace on 2020-08-26T21:57:58Z (GMT). No. of bitstreams: 2 GUPTA-THESIS-2020.pdf: 9645619 bytes, checksum: 7cddedaa0daff10449bbc775af5834d0 (MD5) LICENSE.txt: 4208 bytes, checksum: 36c9b3f9593202cab0e1a98edf91e325 (MD5) Previous issue date: 2020-05-11"],"dc:format":["application/pdf"],"dc:identifier":["http://hdl.handle.net/2142/108018"],"dc:language":["en"],"dc:rights":["Copyright 2020 Sahil Gupta"],"dc:subject":["Datalog","Answer Set Programming","ASP","Clingo","DLV","Stable Model","Well-founded","Python","Tool","Open source","Possible Worlds","Possible Worlds Explorer","Jupyter","Notebook","Jupyter Notebook","IPython","Visualizations","Framework","PWE Framework","PWE-NB-Extension","Declarative Programming","Provenance","Datalog Debugging","Euler","LeanEuler","Taxonomy Alignment","TAP","CleanTax","Education","WODB"],"dc:title":["Possible worlds explorer: Combining declarative programming with user-friendly Jupyter Notebooks"],"dc:type":["text","Thesis"],"thesis:degree_discipline":["Computer Science"],"thesis:degree_level":["Thesis"],"thesis:degree_name":["M.S."],"thesis:institution_name":["University of Illinois at Urbana-Champaign"]},"updated_at":"2026-07-22T22:24:47Z"}