diff --git a/content/Entries/Entries.md b/content/Entries/Entries.md index 452ba4b7..3324e8ec 100644 --- a/content/Entries/Entries.md +++ b/content/Entries/Entries.md @@ -1,5 +1,37 @@ %% Begin Waypoint %% -- **[[Knowledge]]** -- **[[Social Ecological Systems]]** +- **Concepts** + - **Abstract** + - **Events** + - **Physical** +- **Individuals** + - [[Branko Milanovic]] + - [[Friedrich Engels]] + - [[Karl Marx]] + - [[Kohei Saito]] + - [[Marina Fischer-Kowalski]] + - [[Rosa Luxembourg]] +- **[[Meta]]** +- **Objectives** + - **Emancipation** + - **Peace** + - **Provisioning** +- **Theories** +- **Thought Communities** + - **Degrowth** + - **Environmentalists** + - **Linguists** + - **Etymologists** + - **Marxists** + - **Mathematicians** + - **Neoliberal** + - **Philosophy and Religion** + - **Buddhist** + - **Regional** + - **African Philosophy** + - **American Philosophy** + - **Asian Philosophy** + - **Middle Eastern Philosophy** + - **Western Philosophy** + - **Greek** %% End Waypoint %% \ No newline at end of file diff --git a/content/Entries/Individuals/Branko Milanovic.md b/content/Entries/Individuals/Branko Milanovic.md new file mode 100644 index 00000000..e69de29b diff --git a/content/Entries/Individuals/Friedrich Engels.md b/content/Entries/Individuals/Friedrich Engels.md new file mode 100644 index 00000000..e69de29b diff --git a/content/Entries/Individuals/Karl Marx.md b/content/Entries/Individuals/Karl Marx.md new file mode 100644 index 00000000..e69de29b diff --git a/content/Entries/Individuals/Kohei Saito.md b/content/Entries/Individuals/Kohei Saito.md new file mode 100644 index 00000000..e69de29b diff --git a/content/Entries/Individuals/Marina Fischer-Kowalski.md b/content/Entries/Individuals/Marina Fischer-Kowalski.md new file mode 100644 index 00000000..e69de29b diff --git a/content/Entries/Individuals/Rosa Luxembourg.md b/content/Entries/Individuals/Rosa Luxembourg.md new file mode 100644 index 00000000..e69de29b diff --git a/content/Entries/Knowledge/Knowledge.md b/content/Entries/Meta/Meta.md similarity index 75% rename from content/Entries/Knowledge/Knowledge.md rename to content/Entries/Meta/Meta.md index 09887088..46d9915d 100644 --- a/content/Entries/Knowledge/Knowledge.md +++ b/content/Entries/Meta/Meta.md @@ -1,4 +1,5 @@ %% Begin Waypoint %% - **[[Modes of Inference]]** +- **[[Organization]]** %% End Waypoint %% diff --git a/content/Entries/Knowledge/Modes of Inference/Abduction/scaspAbduction.pl b/content/Entries/Meta/Modes of Inference/Abduction/scaspAbduction.pl similarity index 100% rename from content/Entries/Knowledge/Modes of Inference/Abduction/scaspAbduction.pl rename to content/Entries/Meta/Modes of Inference/Abduction/scaspAbduction.pl diff --git a/content/Entries/Knowledge/Modes of Inference/Abduction/scaspAbductionRuleCase.pl b/content/Entries/Meta/Modes of Inference/Abduction/scaspAbductionRuleCase.pl similarity index 100% rename from content/Entries/Knowledge/Modes of Inference/Abduction/scaspAbductionRuleCase.pl rename to content/Entries/Meta/Modes of Inference/Abduction/scaspAbductionRuleCase.pl diff --git a/content/Entries/Knowledge/Modes of Inference/Beans Example.md b/content/Entries/Meta/Modes of Inference/Beans Example.md similarity index 100% rename from content/Entries/Knowledge/Modes of Inference/Beans Example.md rename to content/Entries/Meta/Modes of Inference/Beans Example.md diff --git a/content/Entries/Knowledge/Modes of Inference/Deduction/scaspDeduction.pl b/content/Entries/Meta/Modes of Inference/Deduction/scaspDeduction.pl similarity index 100% rename from content/Entries/Knowledge/Modes of Inference/Deduction/scaspDeduction.pl rename to content/Entries/Meta/Modes of Inference/Deduction/scaspDeduction.pl diff --git a/content/Entries/Knowledge/Modes of Inference/Deduction/scaspDeductionRuleCase.pl b/content/Entries/Meta/Modes of Inference/Deduction/scaspDeductionRuleCase.pl similarity index 100% rename from content/Entries/Knowledge/Modes of Inference/Deduction/scaspDeductionRuleCase.pl rename to content/Entries/Meta/Modes of Inference/Deduction/scaspDeductionRuleCase.pl diff --git a/content/Entries/Knowledge/Modes of Inference/Induction/foldInduction.pl b/content/Entries/Meta/Modes of Inference/Induction/foldInduction.pl similarity index 100% rename from content/Entries/Knowledge/Modes of Inference/Induction/foldInduction.pl rename to content/Entries/Meta/Modes of Inference/Induction/foldInduction.pl diff --git a/content/Entries/Knowledge/Modes of Inference/Induction/foldInductionRuleCase.pl b/content/Entries/Meta/Modes of Inference/Induction/foldInductionRuleCase.pl similarity index 100% rename from content/Entries/Knowledge/Modes of Inference/Induction/foldInductionRuleCase.pl rename to content/Entries/Meta/Modes of Inference/Induction/foldInductionRuleCase.pl diff --git a/content/Entries/Knowledge/Modes of Inference/Modes of Inference.canvas b/content/Entries/Meta/Modes of Inference/Modes of Inference.canvas similarity index 100% rename from content/Entries/Knowledge/Modes of Inference/Modes of Inference.canvas rename to content/Entries/Meta/Modes of Inference/Modes of Inference.canvas diff --git a/content/Entries/Knowledge/Modes of Inference/Modes of Inference.md b/content/Entries/Meta/Modes of Inference/Modes of Inference.md similarity index 100% rename from content/Entries/Knowledge/Modes of Inference/Modes of Inference.md rename to content/Entries/Meta/Modes of Inference/Modes of Inference.md diff --git a/content/Entries/Knowledge/Modes of Inference/Retroduction/Retroduction.md b/content/Entries/Meta/Modes of Inference/Retroduction/Retroduction.md similarity index 100% rename from content/Entries/Knowledge/Modes of Inference/Retroduction/Retroduction.md rename to content/Entries/Meta/Modes of Inference/Retroduction/Retroduction.md diff --git a/content/Entries/Knowledge/Modes of Inference/inferenceExample.pl b/content/Entries/Meta/Modes of Inference/inferenceExample.pl similarity index 100% rename from content/Entries/Knowledge/Modes of Inference/inferenceExample.pl rename to content/Entries/Meta/Modes of Inference/inferenceExample.pl diff --git a/content/Entries/Meta/Organization/Comparison and synthesis/Comparison and synthesis.md b/content/Entries/Meta/Organization/Comparison and synthesis/Comparison and synthesis.md new file mode 100644 index 00000000..df90dcff --- /dev/null +++ b/content/Entries/Meta/Organization/Comparison and synthesis/Comparison and synthesis.md @@ -0,0 +1,19 @@ +> Kapp notes that, historically, synthesis of information has resulted in transferring concepts, methods and modes of thinking across disciplines. + +%% Begin Waypoint %% + + +%% End Waypoint %% + +Figures of speech +- Simile + > figure of speech involving comparison of one thing with another of a different kind, used to make a description more emphatic or vivid, associated with the terms ‘as’ or ‘like’ (e.g., ‘as brave as a lion’). +- Metaphor + > figure of speech in which a word or phrase is applied to an object or action to which it is not literally applicable; it takes a dimension of a thing as representative or symbolic of something else, especially something abstract (e.g., ‘a blanket of snow’; ‘time is money’) +- Analogy + > Comparison between one thing and another thing for the purpose of explanation or clarification; there is a real correspondence or partial similarity; a thing is represented as being comparable to something else in significant respects. + + + +#### References +- Spash, C.L. (2024) ‘Integration of social, ecological and economic knowledge’, in _Foundations of social ecological economics_. Manchester University Press, pp. 141–163. Available at: [https://www.manchesterhive.com/display/9781526171498/9781526171498.00014.xml](https://www.manchesterhive.com/display/9781526171498/9781526171498.00014.xml) (Accessed: 22 June 2024). \ No newline at end of file diff --git a/content/Entries/Meta/Organization/Concepts/Concepts.md b/content/Entries/Meta/Organization/Concepts/Concepts.md new file mode 100644 index 00000000..93782aea --- /dev/null +++ b/content/Entries/Meta/Organization/Concepts/Concepts.md @@ -0,0 +1,16 @@ +Definition +- "thought objects" +- Add more + +Types +- Quantitative + - "Arithmomorphic" in Georgescu-Roegen +- Qualitative + - "Dialectical" in Georgescu-Roegen + > "those that violate the Principle of Contradiction, namely that they are instances in which B is both A and non-A" + > "Dialectical reasoning about concepts cannot be exact, but it can be correct." + + + +#### References +- Spash, C.L. (2024) ‘Integration of social, ecological and economic knowledge’, in _Foundations of social ecological economics_. Manchester University Press, pp. 141–163. Available at: [https://www.manchesterhive.com/display/9781526171498/9781526171498.00014.xml](https://www.manchesterhive.com/display/9781526171498/9781526171498.00014.xml) (Accessed: 22 June 2024). \ No newline at end of file diff --git a/content/Entries/Meta/Organization/Dynamics/Dynamics.md b/content/Entries/Meta/Organization/Dynamics/Dynamics.md new file mode 100644 index 00000000..371cad5c --- /dev/null +++ b/content/Entries/Meta/Organization/Dynamics/Dynamics.md @@ -0,0 +1,9 @@ +- Stasis (e.q equilibria in economics) +- Change + - In social science + - Dialectics + - In maths + - Calculus + - In natural science? + - E.g. evolution? + diff --git a/content/Entries/Meta/Organization/Organization.md b/content/Entries/Meta/Organization/Organization.md new file mode 100644 index 00000000..f08ac6d2 --- /dev/null +++ b/content/Entries/Meta/Organization/Organization.md @@ -0,0 +1,7 @@ +%% Begin Waypoint %% +- **[[Comparison and synthesis]]** +- **[[Concepts]]** +- **[[Dynamics]]** +- **[[Systems]]** + +%% End Waypoint %% \ No newline at end of file diff --git a/content/Entries/Meta/Organization/Systems/Systems.md b/content/Entries/Meta/Organization/Systems/Systems.md new file mode 100644 index 00000000..a06c6f49 --- /dev/null +++ b/content/Entries/Meta/Organization/Systems/Systems.md @@ -0,0 +1,10 @@ +Definition +- Becker: "elements, the relations between them, and the borders delimiting the system" + +Types +- Simple systems? +- Complex systems +> behave non-linearly; they have positive and negative feedback loops; they may form hierarchies, thus displaying emergence and self-organization; and finally they depend strongly on their context and history + +#### References +- Becker, E. (2012) ‘Social-Ecological Systems as Epistemic Objects’, in, pp. 37–59. \ No newline at end of file diff --git a/content/Entries/Social Ecological Systems/Social Ecological Systems.md b/content/Entries/Social Ecological Systems/Social Ecological Systems.md deleted file mode 100644 index 2635adb5..00000000 --- a/content/Entries/Social Ecological Systems/Social Ecological Systems.md +++ /dev/null @@ -1,4 +0,0 @@ -%% Begin Waypoint %% - - -%% End Waypoint %% \ No newline at end of file diff --git a/content/Formats.md b/content/Formats.md new file mode 100644 index 00000000..c968c424 --- /dev/null +++ b/content/Formats.md @@ -0,0 +1,90 @@ +Add dataviewjs at the top of the codeblock to enable + +#### RDF + +#### TTL + +#### Prolog + +``` +function toPrologAtom(str) { + return str.replace(/ /g, '_').toLowerCase(); // Replace spaces with underscores for Prolog atoms +} + +const currentFolder = dv.current().file.folder; +const pages = dv.pages().filter(p => p.file && p.file.folder.startsWith(currentFolder)); + +let prologStatements = ''; + +const fileMap = {}; +let triples = []; + +// Populate the fileMap with all file paths and names in the current folder and subfolders +pages.forEach(page => { + if (page.file && page.file.path) { + const path = page.file.path; + const fileName = toPrologAtom(page.file.name); + fileMap[path] = fileName; + } +}); + +// Generate the triples +pages.forEach(page => { + if (!page.file || !page.file.path) return; + const path = page.file.path; + const fileName = toPrologAtom(page.file.name); + const folderName = toPrologAtom(page.file.folder.split('/').pop()); + const outgoingLinks = page.file.outlinks ? [...new Set(page.file.outlinks.values.map(l => l.path))] : []; + const processedLinks = {}; + + const links = Object.entries(page).filter(([key, val]) => val && val.path != null).map(([key, val]) => { + const item = { from: fileName, to: fileMap[val.path], rel: toPrologAtom(key) }; + processedLinks[val.path] = 1; + return item; + }).filter(item => item.from !== item.to); // Filter out self-referential links + + triples = triples.concat(links); + const unnamedLinks = outgoingLinks.filter(l => !processedLinks[l]).map(l => ({ from: fileName, to: fileMap[l], rel: 'linked' })); + triples = triples.concat(unnamedLinks); +}); + +// Remove duplicate triples +const uniqueTriples = Array.from(new Set(triples.map(JSON.stringify))).map(JSON.parse); + +// Generate atoms for each node +const nodes = Object.values(fileMap).map(v => `${v}.`).join('\n'); +prologStatements += nodes + '\n\n'; + +// Separate and sort Prolog statements for each edge +let parentRelations = []; +let linkedRelations = []; +let otherRelations = []; + +uniqueTriples.forEach(t => { + const fromPage = pages.find(page => fileMap[page.file.path] === t.from); + const fromFolder = fromPage ? toPrologAtom(fromPage.file.folder.split('/').pop()) : ''; + const toPage = pages.find(page => fileMap[page.file.path] === t.to); + const toFolder = toPage ? toPrologAtom(toPage.file.folder.split('/').slice(-2, -1)[0]) : ''; + + if (fromFolder === toFolder) { + parentRelations.push(`parent(${t.from}, ${t.to}).`); + } else if (t.rel === 'linked') { + linkedRelations.push(`${t.rel}(${t.from}, ${t.to}).`); + } else { + otherRelations.push(`${t.rel}(${t.from}, ${t.to}).`); + } +}); + +// Sort otherRelations alphabetically +otherRelations.sort(); + +// Concatenate Prolog statements: otherRelations, parentRelations, and linkedRelations +prologStatements += otherRelations.join('\n') + '\n\n'; +prologStatements += parentRelations.join('\n') + '\n\n'; +prologStatements += linkedRelations.join('\n') + '\n\n'; + +// Output Prolog statements +dv.header(2, currentFolder); +dv.span(prologStatements, 'prolog'); +``` + diff --git a/content/index.md b/content/index.md index 6a021d72..50132656 100644 --- a/content/index.md +++ b/content/index.md @@ -3,7 +3,7 @@ title: What up --- Social science yo -- [[Knowledge]] +- [[Meta]] - For ontology files put the following at the top of the file: @@ -30,3 +30,48 @@ From sCASP docs: | ??++ | | +#### To-Do's +- [ ] Do I need an Obsidian plugin? Could be useful to automate +- [ ] How to use canvas view in this case? + - Should be easy because any item in canvas can be a md page + - might need to add canvas labels manually to match named relations from dataview + - [ ] can also make a script for that? +- [ ] Degree of standardization? Standard tags? Classes/hierarchies? +- [ ] need to improve logic in general and specifically code to represent hierarchies inside praxis + - see [chapter in Simply Logical book](https://book.simply-logical.space/src/text/2_part_ii/4.3.html) + +#### Approach +1. Semantic layer/Ontology/Glossary/Dictionary + - ontology in obsidian + dataviewjs + graph-link-types with labeled links or frontmatter + - turn links into Prolog statements with a script [like so](https://github.com/Volland/pkg-obsidian/tree/main) + - Make named links with link :: . (optional) use aliases for notes and tags for structure + - optionally serialize for storage/exchange via RDF/turtle/any other format + - hierarchy with folder note and waypoint (basically markdown links) + - pick and node in the folder hierarchy as root + - create a "Main" file in this node which will hold Prolog code + - parent "Main" files can import children. There can be one big top-level root file (very useful for inference) + - root file acts like a package manifest in software development. can include more stuff like links, relation definitions etc + - [ ] Make a script that will automatically update parent root files to import children + - can optionally do types and any kind of organization, tags, supertags etc + - query this knowledge base with Prolog or whatever you want e.g. SparQL ! +2. Logic/structure/inference layer + - [ ] Try it + - inference in prolog; see [[Modes of Inference]] + - express theories and logic/structures with prolog code (see theoryToolbox) + - induction with FOLD + - deduction and abduction with sCASP +3. Prediction/magic layer + - Can pass the output to an LLM or other algorithms to answer questions or conduct search. Both to extend knowledge base and for inference + - [ ] Try it + - ... what else? + +#### Advantages of this approach and goodies +- Can be easily stored in git, it's just markdown and prolog with one js script on top +- Can "enrich" with external ontologies e.g. DBPedia. + - Actually let's add an "externalDefinition" frontmatter item that will use any external link +- Can then import generated Prolog or generate code for Logtalk/Logica/other more advanced languages or compile to SQL +- Can optionally use [SparQL anything](https://github.com/SPARQL-Anything/sparql.anything) or similar to parse the whole contents of markdown pages as structured content, or use advanced frontmatter for more structure +- [ ] How to group terms with similar meanings +- Can visualize prolog logic + - Visualise relationships, logical rules (AND, OR) and tables in Praxis + - Just import the whole root code into Praxis 🤯 \ No newline at end of file diff --git a/content/test.pl b/content/test.pl index 8b4d7dbf..20e55c4d 100644 --- a/content/test.pl +++ b/content/test.pl @@ -1,3 +1,3 @@ grandparent(X,Y):- parent(X,Z), - parent(Z,Y). \ No newline at end of file + parent(Z,Y). \ No newline at end of file