Newer Version Available
Knowledge Object Model

This architecture gives us some additional flexibility related to search behavior and allows us to support both Lightning Knowledge and Salesforce Classic.
Core Knowledge Objects
The core abstract Knowledge objects are for a Knowledge article (KnowledgeArticle), and a set of versions of that article (KnowledgeArticleVersion). These versions can include different translations, as well as historical versions of a particular article.

- KnowledgeArticle—Represents the abstract Knowledge article object. This object contains metadata about a knowledge article irrespective of the article's version, translation, or status.
- KnowledgeArticleVersion—Represents the abstract Knowledge article version object. Whenever you create a draft of an article, it gets a new version number and a unique ID. Each translation of an article also has a version and ID. Each version is a KnowledgeArticleVersion record with the KnowledgeArticle record as the parent.
When you create knowledge articles, you’ll actually be creating records with concrete Salesforce objects. These objects inherit from their abstract counterparts. By default, these concrete objects are named “Knowledge__ka” (for knowledge articles) and “Knowledge__kav” (for knowledge article versions) in Lightning Knowledge.

The concrete implementation contains any of your custom fields for a knowledge article. The Knowledge__kav object also contains a “RecordTypeId” field, which is a record type used to describe the article structure (for example, FAQ, Tutorial, and so on). Each record type can contain its own layouts. For example, an FAQ record type can use a special layout that displays custom fields such as “Question__c” and “Answer__c”.
Complete Knowledge Object Diagram
To build out the relationship of Knowledge articles to other objects, let’s highlight some of the other important object relationships. In this diagram, we use the default value “Knowledge” as the article type name to illustrate the object model, but keep in mind that if you change this value in Setup, the prefix for each object with “__” in the name would be changed accordingly.

The following objects are shown in this Knowledge object model. Each object links to its reference documentation for more information.
- Case—Represents a case, which is a customer issue or problem. Every article can be associated with a case using the CaseArticle object.
- CaseArticle—Represents the association between a Case and a KnowledgeArticle.
- FeedComment—Represents a comment added to a feed for a knowledge article.
- Knowledge__DataCategorySelection—Represents a data category that classifies an article.
- Knowledge__Feed—Represents the feed for a knowledge article.
- Knowledge__ka—Represents the concrete object of a KnowledgeArticle.
- Knowledge__kav—Represents the concrete object of a KnowledgeArticleVersion.
- Knowledge__VersionHistory—Represents the concrete object of a KnowledgeArticleVersionHistory.
- Knowledge__ViewStat—Represents the concrete object of a KnowledgeArticleViewStat.
- Knowledge__VoteStat—Represents the concrete object of a KnowledgeArticleVoteStat.
- KnowledgeArticle—Represents the abstract Knowledge article object. This object contains metadata about a knowledge article irrespective of the article's version, translation, or status.
- KnowledgeArticleVersion—Represents the abstract Knowledge article version object. Whenever you create a draft of an article, it gets a new version number and a unique ID. Each translation of an article also has a version and ID. Each version is a KnowledgeArticleVersion record with the KnowledgeArticle record as the parent.
- KnowledgeArticleVersionHistory—Enables read-only access to the full history of an article.
- KnowledgeArticleViewStat���Provides statistics on the number of views for the specified article.
- KnowledgeArticleVoteStat—Provides the weighted rating for the specified article.
- LinkedArticle—Represents a knowledge article that is attached to a work order, work order line item, or work type.
- LinkedArticleFeed—Represents the comment feed on a linked article.
- LinkedArticleHistory—Represents the history of changes made to tracked fields on a linked article.
- WorkOrder—Represents field service work to be performed for a customer.
- WorkOrderLineItem—Represents a subtask on a work order in field service.
- Vote—Represents a vote that a user has made on a knowledge article.