File tree Expand file tree Collapse file tree 5 files changed +35
-4
lines changed Expand file tree Collapse file tree 5 files changed +35
-4
lines changed Original file line number Diff line number Diff line change
1
+ # concept
2
+
3
+ ` conceptJoin `
4
+ ` conceptMeet `
5
+
1
6
# context
2
7
3
8
` generateConcepts(context) `
Original file line number Diff line number Diff line change
1
+ import { setEqual } from "../utils/Set.js"
2
+ import type { Concept } from "./Concept.js"
3
+
4
+ export function conceptEqual ( x : Concept , y : Concept ) : boolean {
5
+ if ( x . context !== y . context ) return false
6
+ return setEqual ( x . extent , y . extent )
7
+ }
Original file line number Diff line number Diff line change
1
+ import { QuotientSet } from "../utils/QuotientSet.js"
2
+ import type { Concept } from "./Concept.js"
3
+ import { conceptEqual } from "./conceptEqual.js"
4
+
5
+ export function createConceptSet ( ) : QuotientSet < Concept > {
6
+ return new QuotientSet ( { equal : conceptEqual } )
7
+ }
Original file line number Diff line number Diff line change @@ -5,3 +5,5 @@ export * from "./conceptFromAttributes.js"
5
5
export * from "./conceptFromEntities.js"
6
6
export * from "./isExtent.js"
7
7
export * from "./isIntent.js"
8
+ export * from "./conceptEqual.js"
9
+ export * from "./createConceptSet.js"
Original file line number Diff line number Diff line change 1
- import type { Concept } from "../concept/index.js"
1
+ import {
2
+ conceptFromEntities ,
3
+ createConceptSet ,
4
+ type Concept ,
5
+ } from "../concept/index.js"
2
6
import type { Context } from "./index.js"
3
7
4
8
export function generateConcepts ( context : Context ) : Array < Concept > {
5
- const targets : Array < Concept > = [ ]
6
- const results : Array < Concept > = [ ]
7
- return results
9
+ const targets = createConceptSet ( )
10
+ const results = createConceptSet ( )
11
+ for ( const entity of context . entities ) {
12
+ const entityConcept = conceptFromEntities ( context , [ entity ] )
13
+ targets . add ( entityConcept )
14
+ results . add ( entityConcept )
15
+ }
16
+
17
+ return results . representatives
8
18
}
You can’t perform that action at this time.
0 commit comments