I'm hoping to use D3.js
, and YAGO
as starting points for an interactive, graph-based system
to support knowledge exploration, navigation, and capture.
This page discusses goals and ideas for the system's schema.
The Trouble with Triples
YAGO is encoded as a set
of (~300M) Resource Description Format
Any proposed schema should capture the knowledge encoded in YAGO's RDF triples,
while supporting convenient and efficient access under Neo4j
See Neo4j Mapping
for more discussion of this.
RDF is similar to Neo4j's property graph
approach, but it isn't an exact match.
Each (Subject / Predicate / Object) triple defines a relation
and (if need be) some supporting entities.
Any (S/P/O) field can be a URI
an Object can also be a value (eg, 42, "foo").
So, subjects work well as entities, but Predicates
may be mapped to either properties or (generated) helper nodes.
Other Information Sources
I also expect to fold in other information sources (including user input).
Consequently, the schema will have to handle issues
such as provenance, differing opinions, etc.
Fortunately, there is a graph-friendly approach (loosely inspired by IBIS)
that can be folded into Neo4j's "property graphs".
Issue-Based Information System (IBIS) was invented
by Werner Kunz and Horst Rittel
as an argumentation-based approach to tackling wicked problems -
complex, ill-defined problems that involve multiple stakeholders.
To quote from their original paper,
"Issue-Based Information Systems (IBIS) are meant
to support coordination and planning of political decision processes.
IBIS guides the identification, structuring, and settling
of issues raised by problem-solving groups,
and provides information pertinent to the discourse...".
Subsequently, the understanding of planning and design
as a process of argumentation (of the designer with himself or with others)
has led to the use of IBIS as a Design rationale.
-- Issue-Based Information System (WP)
Although IBIS was not designed to support the kind of system I have in mind,
many of its characteristics look useful and well considered.
Any IBIS feature that isn't relevant can be omitted or (if present) ignored.
To Be Continued...
This wiki page is maintained by Rich Morin
an independent consultant specializing in software design, development, and documentation.
Please feel free to email
comments, inquiries, suggestions, etc!