Skip to content

Creating a Knowledge Graph with Termboard

Knowledge Graphs are powerful tools for organizing and representing interconnected information. Termboard provides comprehensive support for building, importing, and exporting knowledge graphs with semantic richness.

What is a Knowledge Graph?

A Knowledge Graph is a structured representation of real-world entities (people, places, concepts, events) and the relationships between them. It combines the semantic expressiveness of ontologies with the practical applicability of databases.

Video Tutorial

For a visual walkthrough, watch How to create a knowledge graph on YouTube.

Knowledge Graph vs. Semantic Data Model

While these terms are often used interchangeably, there are subtle differences:

AspectSemantic Data ModelKnowledge Graph
Primary FocusData structure and meaningInterconnected entities and facts
Typical UseEnterprise data architectureAI/ML, search, recommendations
SchemaUsually well-defined upfrontCan evolve dynamically
RelationsDefines allowed relation typesStores actual instances of relations
Example"Customer HAS-A Order""John Smith placed Order #1234"

In practice, Termboard supports both use cases. A semantic data model defines the "classes" and "allowed relationships," while a knowledge graph populates those with actual entities and facts.

Building a Knowledge Graph

Step 1: Define Your Core Entities

Start by identifying the main concepts (entities) in your domain:

  1. Create terms for each entity type
  2. Set the term type to "Concept" for main entities, "Property" for attributes
  3. Add descriptions to clarify what each entity represents

Example

For a movie knowledge graph:

  • Concepts: Movie, Actor, Director, Genre, Studio
  • Properties: Title, Release Date, Budget, Rating

Step 2: Establish Hierarchies (is-a Relations)

Create taxonomies using Generalization relations:

  1. Define a relation type with type "Generalization"
  2. Create relations like:
    • Action Movie → Movie (Action Movie is-a Movie)
    • Documentary → Movie (Documentary is-a Movie)

These hierarchical relations enable relation inheritance, where child concepts automatically inherit relations from parents.

Step 3: Define Semantic Relations

Add meaningful relationships between entities:

  1. Create relations between concepts using the graph or Add Relation dialog
  2. Name relations with clear, directional verbs:
    • Actor → stars in → Movie
    • Movie → directed by → Director
    • Movie → has genre → Genre
  3. Set cardinalities to specify how many entities can be related:
    • A Movie has 1..* Actors (one or more)
    • An Actor stars in 0..* Movies (zero or more)

See Cardinalities for details.

Step 4: Add Properties and Attributes

For each concept, define its properties:

  1. Create terms with type "Property"
  2. Link properties to concepts:
    • Movie → has property → Release Date
    • Movie → has property → Budget
  3. Optionally hide properties in the graph view via Settings > Document > Hide properties

Importing Existing Ontologies

Termboard can import ontologies in OWL (Web Ontology Language) format, allowing you to leverage existing knowledge structures.

Importing OWL Files

  1. Go to File > Import > OWL
  2. Select or drag-and-drop your .owl file
  3. Termboard will extract:
    • Classes (as Concepts)
    • Properties (as Properties)
    • Hierarchical relations (as Generalizations)
    • Object properties (as Relations)

Example Ontology Sources

Here are some well-known ontologies you can import:

OntologyDomainSource
FIBOFinancial Industryspec.edmcouncil.org/fibo
Schema.orgGeneral Webschema.org
FOAFSocial Networksxmlns.com/foaf/spec
Dublin CoreMetadatadublincore.org
BioCycBiological Dataontobee.org

Ontology Size

For optimal performance, avoid importing ontologies with more than 2000 classes. Larger ontologies may cause slow processing.

Working with FIBO (Financial Industry)

The Financial Industry Business Ontology (FIBO) is a comprehensive ontology for financial services:

  1. Import via File > Load Examples > FIBO
  2. Use Termboard's hierarchy view to explore the taxonomy
  3. Extend with your organization-specific concepts

AI-Powered Knowledge Graph Generation

Termboard includes AI capabilities to accelerate knowledge graph creation.

Generate a Knowledge Graph from a Topic

  1. Open Tools > Add in Bulk/Chatbot
  2. Select the prompt "Knowledge Graph about a subject"
  3. Enter your subject (e.g., "Healthcare Data Management")
  4. Optionally add context to focus the model
  5. Click USE AI (if API configured) or COPY PROMPT for manual workflow

The AI will generate:

  • Core concepts with descriptions
  • Hierarchical relations (is-a)
  • Semantic relations between concepts

Extract Ontology from Text

If you have existing documents describing your domain:

  1. Select the prompt "Ontology from text"
  2. Paste your document text
  3. The AI will identify:
    • Key concepts mentioned in the text
    • Relationships implied by the text
    • Hierarchical structures

See Add in Bulk/Chatbot for detailed instructions.

Entity-Relationship Patterns

Knowledge graphs commonly use these patterns:

Taxonomic Pattern (is-a)

Vehicle
├── Car
│   ├── Sedan
│   └── SUV
└── Motorcycle

Use Generalization relations for this pattern.

Part-Whole Pattern (has-part)

Car
├── has-part → Engine
├── has-part → Wheel (cardinality: 4)
└── has-part → Chassis

Association Pattern

Person ←── works-for ──→ Organization
Person ←── lives-in ──→ Location
Organization ←── located-in ──→ Location

Temporal Pattern

Event
├── has-start-date → Date
├── has-end-date → Date
└── has-location → Location

Exporting Knowledge Graphs

Export to JSON-LD

JSON-LD (JavaScript Object Notation for Linked Data) is the standard format for knowledge graph interoperability:

  1. Go to File > Import/Export > JSON-LD
  2. Select term types to export
  3. Click Export

The exported file can be:

  • Loaded into graph databases (Neo4j, Amazon Neptune, etc.)
  • Published as Linked Data on the web
  • Imported into other knowledge graph tools

Experimental Feature

JSON-LD export is currently experimental. For best results, ensure your graph has consistent relation naming.

Export to JSON

For simpler integration needs:

  1. Go to File > Import/Export > JSON
  2. Export your complete graph structure
  3. Use the JSON for:
    • Custom applications
    • Data pipelines
    • Backup purposes

See Import/Export for all export options.

Validating Your Knowledge Graph

Use Termboard's Semantic Checks to ensure quality:

CheckWhat It Catches
Duplicate TermsConcepts with identical names
Circular HierarchyA is-a B is-a C is-a A
Missing DescriptionsUndocumented concepts
Isolated TermsConcepts with no relations
Bidirectional RelationsRedundant A→B and B→A

Best Practices

  1. Start with core concepts - Don't try to model everything at once
  2. Use consistent naming - Singular nouns for concepts, verbs for relations
  3. Document everything - Add descriptions to all terms and relations
  4. Leverage hierarchies - Use Generalization to reduce redundancy
  5. Validate regularly - Run semantic checks as you build
  6. Version your work - Save incremental versions as you progress

Example: Building a Simple Knowledge Graph

Let's create a small knowledge graph for a library:

Concepts:

  • Book, Author, Publisher, Genre, Library Branch

Hierarchies:

  • Fiction → Genre
  • Non-Fiction → Genre
  • Novel → Fiction

Relations:

  • Book written by Author
  • Book published by Publisher
  • Book belongs to Genre
  • Library Branch holds Book

Properties:

  • Book: ISBN, Title, Publication Date
  • Author: Name, Birth Date
  • Publisher: Name, Location

You can see a live example at: termboard.com/app?demo=library