Capture, query, and automate knowledge.
Introducing ConceptEngine: an instant digital brain for individuals and organizations.
Features
Ridiculously flexible.
It's built on nested hypergraphs, taking flexibility and expressiveness to the next level.
Intuitive.
Feed it knowledge with sentence-like phrases, and query it using patterns.
Instant, no setup.
Spin up new spaces in milliseconds, each with their own powerful GraphQL API.
Automated.
ConceptEngine responds to patterns in your data as it changes, making inferences and integrating with external APIs.
ConceptML
A magically simple language for connected data.
The Basics
In ConceptML, we express data almost like sentences. For example:
john-smith know javascript
john-smith named <<John Smith>>
javascript ProgrammingLanguage
The “words” in these expressions are called atoms, while the expressions themselves are called compounds. Both atoms and compounds are types of concepts.
Nesting Concepts
In essence, concepts are just labeled lists of 0, 2, or more other concepts. In fact, we can nest compounds with one another:
[john-smith knows javascript] since 2010
[john-smith uses javascript] to create john-smith.net
Expansion Syntax
We can describe multiple relations at once. For example...
[john-smith knows {javascript, python, c++}] since 2010
...is equivalent to:
[john-smith knows javascript] since 2010
[john-smith knows python] since 2010
[john-smith knows c++] since 2010
Querying data
What if we wanted to find programmers in our knowledge space? We can send this query to ConceptEngine:
$person {
named $personName
knows $topic (
ProgrammingLanguage
named $topicName
)
}
In return, we'd get:
$person: john-smith
$topic: javascript
$personName: <<John Smith>>
$topicName: <<Javascript>>
Automation
Finally, let's trigger some actions whenever a person learns a new programming language:
programmerTrigger [
@matches [
$person knows $topic
$topic ProgrammingLanguage
]
@adds [
$person Programmer
]
@notifies [
<<https://api.creature.co/webhooks/new-programmer>>
]
]
The Data Model
When we save these expressions in ConceptEngine, we are building up a nested hypergraph—a highly connective, expressive way to represent data.
ConceptEngine provides a GraphQL API that allows you to interact with nested hypergraphs and project them into JSON. ConceptML is how we communicate with it.
Stay tuned for more!
We'll be releasing playgrounds, documentation, and more examples soon.