Skip to content

Commit

Permalink
Quartz sync: Jun 26, 2024, 8:32 AM
Browse files Browse the repository at this point in the history
  • Loading branch information
saviorand committed Jun 26, 2024
1 parent 0f2eeb7 commit 511f6b6
Show file tree
Hide file tree
Showing 28 changed files with 233 additions and 8 deletions.
36 changes: 34 additions & 2 deletions content/Entries/Entries.md
Original file line number Diff line number Diff line change
@@ -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 %%
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
%% Begin Waypoint %%
- **[[Modes of Inference]]**
- **[[Organization]]**

%% End Waypoint %%
Original file line number Diff line number Diff line change
@@ -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).
16 changes: 16 additions & 0 deletions content/Entries/Meta/Organization/Concepts/Concepts.md
Original file line number Diff line number Diff line change
@@ -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).
9 changes: 9 additions & 0 deletions content/Entries/Meta/Organization/Dynamics/Dynamics.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
- Stasis (e.q equilibria in economics)
- Change
- In social science
- Dialectics
- In maths
- Calculus
- In natural science?
- E.g. evolution?

7 changes: 7 additions & 0 deletions content/Entries/Meta/Organization/Organization.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
%% Begin Waypoint %%
- **[[Comparison and synthesis]]**
- **[[Concepts]]**
- **[[Dynamics]]**
- **[[Systems]]**

%% End Waypoint %%
10 changes: 10 additions & 0 deletions content/Entries/Meta/Organization/Systems/Systems.md
Original file line number Diff line number Diff line change
@@ -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.

This file was deleted.

90 changes: 90 additions & 0 deletions content/Formats.md
Original file line number Diff line number Diff line change
@@ -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');
```

47 changes: 46 additions & 1 deletion content/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: What up
---
Social science yo

- [[Knowledge]]
- [[Meta]]
-

For ontology files put the following at the top of the file:
Expand All @@ -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 🤯
2 changes: 1 addition & 1 deletion content/test.pl
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
grandparent(X,Y):-
parent(X,Z),
parent(Z,Y).
parent(Z,Y).

0 comments on commit 511f6b6

Please sign in to comment.