Semantic Web

is a synthesis of knowledge management and computer science. In this article we give its detailed determination.

Methodology

In general, it is hardly possible to measure knowledge numerically. But if we consider knowledge in the context of its specific digital representation, we can identify some basic data structures that can be used to describe knowledge. Their configuration and size can well be determined.

Knit

Similar to the bit for measuring information, the knit is the smallest unit of knowledge for a digital device. According to the postulates of knowledge engineering, a knowledge base can be represented as a set of semantic entities. According to the practices of computer science, each entity can be designated through a globally unique identifier. This identifier can then be used as a data structure to describe the knit. The size of the identifier determines the size of the knit. If you use the classic uuid v4 for identification, then the knit values will look like this:

ac2fb456-5936-48dc-934c-1bfcf6bd71e6
8a048d4c-93c0-45b8-8a36-e8a3cd80164d
71076d29-d4ff-430a-b9bd-9c9ee6e5584e

Thus, the size of knit in binary representation = 16 bytes = 128 bits.

Knyte

Similar to the byte for measuring information, the knyte is the smallest unit of knowledge available to human perception. If byte is the number of bits needed to encode one character in the text, then knyte is the number of knits needed to fully describe one semantic entity.

node: entity id → knit → uuid v4
initial link: entity id → knit → uuid v4
terminal link: entity id → knit → uuid v4
content: content id → knit → uuid v4

Thus, the size of knyte in binary representation = 4 knits = 64 bytes = 512 bits.

Content Map

is a collection of pairs content id - textual value.

sample content map

ac2fb456-5936-48dc-934c-1bfcf6bd71e6: "first entity"
8a048d4c-93c0-45b8-8a36-e8a3cd80164d: "100500"
71076d29-d4ff-430a-b9bd-9c9ee6e5584e: "link"

Semantic Core

refers to a collection of terms (also known as keywords or semantic entities) that represent the functionality of programming language. For example, semantic core of JavaScript language is a complete set of its keywords.

JavaScript keywords

abstract arguments await boolean
break byte case catch
char class const continue
debugger default delete do
double else enum eval
export extends false final
finally float for function
goto if implements import
in instanceof int interface
let long native new
null package private protected
public return short static
super switch synchronized this
throw throws transient true
try typeof var void
volatile while with yield

As for semantic web, its semantic core is a collection of all knytes created by all users.

sample core of semantic web

node initial link terminal link content
bb09711a-f4f5-4ca9-8acd-692b988d23a8' null null ac2fb456-5936-48dc-934c-1bfcf6bd71e6
9e1f2f1b-f5dd-4c56-81ba-a80b6cd8f6d0 null null 8a048d4c-93c0-45b8-8a36-e8a3cd80164d
dbe4d3cb-33f4-4cf7-915a-5f036992abd4 bb09711a-f4f5-4ca9-8acd-692b988d23a8' 9e1f2f1b-f5dd-4c56-81ba-a80b6cd8f6d0 71076d29-d4ff-430a-b9bd-9c9ee6e5584e

Knoxel

Similar to pixel in computer graphics, knoxel is a way to display knyte within a semantic web interface.

sample knoxel

Semantic Web - modern definition

Using definitions of knit, knyte and knoxel, we can define the semantic web as a collection of interconnected knytes.

sample semantic web

Knowledge Base - technical definition

A knowledge base is a semantic web that can be used to represent a specific business domain. And homogeneous recursive semantic graph is a visualisation of knowledge base.

Metalanguage

It's well known in knowledge engineering that any natural language can be represented as a semantic graph. It's well known in computer sceince that any programming language can be represented as a semantic graph. All of these semantic graphs are knowledge bases. If we unite them into single knowledge base, we will get metalanguage.

Why hasn't a metalanguage been created yet?

For a long period of human development, the creation of a metalanguage was impossible due to the lack of necessary technologies. Therefore, natural languages, and then programming languages, developed locally and were built on incompatible concepts. But now we have global telecommunications networks and ubiquitous digital devices that provide highly efficient input and output interfaces for people. For at least the last 10 years, we have had all the necessary technological prerequisites for implementing the metalanguage.

In what form should the metalanguage be implemented? As a set of rules, a set of tutorials, a text specification for developers, or as a global web service?

We are confident that metalanguage is a semantic web describing natural and programming languages domains.

The idea of switching from World Wide Web to Global Semantic Web (also known as Giant Global Graph) was expressed by Tim Berners-Lee back in 2007. In our opinion, GGG became a cumbersome and unpromising project, largely because for its development it was supposed to use not a single universal metalanguage, but a whole pack of old-style programming languages:

We believe if we implement Semantic Web using Metalanguage principles, and develop Metalanguage using Semantic Web implementation, we can make the transition from Information Technology to Knowledge Technology, and it will change the way of living of our entire society.