YAGO Schema

I'm hoping to use D3.js, Neo4j, 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 (RDF) triples. 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".

IBIS

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.

Implementation

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!

Topic revision: r4 - 17 Sep 2014, RichMorin
This site is powered by Foswiki Copyright © by the contributing authors. All material on this wiki is the property of the contributing authors.
Foswiki version v2.1.6, Release Foswiki-2.1.6, Plugin API version 2.4
Ideas, requests, problems regarding CFCL Wiki? Send us email