-
Notifications
You must be signed in to change notification settings - Fork 26
Attributes and Chunks
Warning: Wiki should not be edited directly. Edit the files in the ./wiki/ folder instead and make a PR.
The word "attribute" comes from Formal Concept Analysis. Our context is different: we don't have what they call "objects" as pre-defined. Rather we are trying to discover our objects, by seeing them as those things that share a similar collection of attributes! Do see the Nuggets page for related thoughts.
Investigating this, we drew the following diagram: . Similar information is contained in Sam's Chunk Observations.
It makes sense to summarize the attributes here in plain text too, annotated with their type, along with some commentary:
- uid :: UID
- term :: NP
- abbreviation :: String (always optional)
- definition :: Sentence
- concept domain :: [ UID ]
- reference address :: String
- short name :: ShortName
- space :: Space
- symbol :: Stage -> Symbol (always paired with a space)
- unit :: UnitDefn (always optional)
- constraints :: [ ConstraintE ]
- reasonable value :: Expr (always optional)
- uncertainty :: Uncertainty
- inputs :: [ UID ]
- expression :: Expr
- model-expression :: ModelExpr
- unit definition :: UnitDefn
- unit symbol :: UnitSymbol
- contributing units :: [ UID ]
We want to know which combinations are actually possible, and how do these occur in practice. Because these occur most naturally inside chunks, we need to know what constructors we have, and which ones are actually used, and by whom. There might be constructors used only internally, for example.
Rather than listing the chunks, what I'll list are the information combinations that seem to be possible. So {1} and {1,2} but not {1, 2?}.
- {1}
-
nc :: String -> NP -> NamedChunk
(used a little in examples, some internally, lots in drasil-data) -
ncUID :: UID -> NP -> NamedChunk
(used only internally; but perhaps this should be the main one?)
-
- {1, 2}
- sort of:
mkIdea :: String -> NP -> Maybe String -> IdeaDict
(used and abused in drasil-metadata, drasil-example (glassbr) and correctly in drasil-data) - sort of:
mkIdeaUID :: UID -> NP -> Maybe String -> IdeaDict
(only used internally in Chunk.Quantity) - sort of: commonIdea (see at {1,2,4} for sig) is used with
[]
in drasil-website, drasil-example, drasil-data and in Chunk.Concept) - sort of: commonIdeaWithDict (see at {1,2,4} for sig) is used with
[]
in drasil-example)
- sort of:
- {1, 3}
-
dcc :: String -> NP -> String -> ConceptChunk
(internal (a lot), example, data) -
dccWDS :: String -> NP -> Sentence -> ConceptChunk
(internal, example, data)
-
- {1, 2, 4}
-
commonIdea :: String -> NP -> String -> [UID] -> CI
(abused everywhere it is used! See above) -
commonIdeaWithDict :: String -> NP -> String -> [IdeaDict] -> CI
(drasil-example, drasil-theory, drasil-data)
-
- {1, 2, 3}
-
dcc' :: String -> NP -> String -> String -> CommonConcept
(example, few) -
dccWDS' :: String -> NP -> Sentence -> String -> CommonConcept
(never) -
cc :: Idea c => c -> String -> ConceptChunk
(will grab what is in the idea, which could be just {1}) (very little) - cc' (example and internal)
-
From group meeting #3750
- Home
- Getting Started
- Documentation (of Drasil specifics)
- Design
-
Readings
- Drasil Papers and Documents
- Related Work and Inspiration
- Writing Documentation
- Compression as a Means to Learn Structure
- Glossary, Taxonomy, Ontology
- Grounded Theory
- Model Driven Scrapbook
- Model Transformation Languages
- ODE Definitions
- The Code Generator
- Suggested Reading
- Sustainability
- Productivity
- Reuse
- Formal Concept Analysis
- Generative Programming
- Software Documentation
- Units and Quantities
- Misc.
- WIP Projects