Knowledge Patterns within the Conception of Semantic Web

The article tries to contribute to answer a question if the general concept of knowledge pattern with its sub-concepts covers a great majority of the approaches used under this term in computer science literature. At one case, specialized software design patterns in the frame of object-oriented methodology become a very well used tool for software praxis; at a different case, there exists a large packet of tools for creating ontologies of various areas. As a third case, also RDF-based networks of linked data could be seen as knowledge patterns characterizing at least structures or defined activities of some social, working, or other organizations. We propose here to see the problem of knowledge pattern from knowledge representation especially at directions where the goal of using knowledge pattern meets the general goal of the semantic web. The motivation of this article is to apply knowledge patterns in the semantic web because knowledge at a higher professional level can and should usually be given in such a way that their specialized formal expertise incorporates the key to understanding their meaning.


Introduction
Generally, the concept of knowledge pattern [1] modeling appears in knowledge engineering, apparently due to the corresponding concept of a design pattern in software development in the frame of object-oriented methodology. But the difference is mainly in the area of the two points of view. While the design pattern is focused toward general principles of software creation in terms of practices, structure, or behavior properties, the corresponding specifications of knowledge patterns need to take into focus minimally the concept of knowledge, its properties, and cases. While in the case of declarative knowledge it simply involves acquiring new knowledge or its new application from a given knowledge base, all within the first-order logics formalism, for procedural knowledge a generally acceptable formal language and approach until now has not been found. But knowledge pattern for procedural knowledge case gives us a possibility to use similar rules of design patterns as well as in the case of software development. If moreover knowledge pattern has been embedded into the semantic web concept [2] environment with a seeing the world throw the RDF principle [3], it represents a new quality in the sense that content and form become easy-to-use for computers and comprehensible to users without deeper penetration into the principles of knowledge engineering.
The question in the title of the paragraph with a corresponding Cambridge explanation seems to be the basic one. But our goal must be a bit more different from a topic at philosophy (gnoseology); we only try to generalize a bit an orientation about the concept of knowledge pattern within a formal representation language used in AI.

What is knowledge in praxis about?
In the epistemological area of artificial intelligence, we encounter formal manipulation of knowledge. Knowledge is based on information, and this information is based on data [4].
To be able to work with knowledge in a form suitable for computer implementation, it is necessary to introduce some formalism-a representative language. This language must be able to reflect the relationship between knowledge of the world, stored in human minds, and knowledge written in formal means.
Knowledge is information that is usable and divisible, respectively, in relation to other information [4].
In other words: • In one case, it is about what entities a specified (reference) "world" consists of and what are their properties and relationships. The description of the status of participating entities has a declarative character in this case.
• In the latter case, it is about the starting state of the "world" and using rules for reaching a target state. The description here is of a procedural form, capturing the crucial interstates through which the process passes.

Knowledge elements and knowledge components
Knowledge elements are bounded to a certain knowledge base written usually in a special formal approach (or language syntax). The elements are atoms that cannot be further divided. An important feature of atoms is their independence from external contexts. This is especially important for their applications and reuse. Knowledge must be lasting about the knowledge base in which knowledge can be manipulated; it must have a permanent meaning.
Knowing elements linked to a given knowledge base can be composed into knowledge components, whose syntax and meaning is created through the grammatical rules and (logical) composition of participating atoms [5].
Knowledge components are conceptually dependent on the knowledge model used and on its required properties. The factors that make up the overall character of the knowledge component in the composition should be the following: • The functionality is reflecting and sharing a specified relationship between the start state and target state.
• Reliability, which means that the component is mature.
• Applicability and portability are that the component is understandable and appropriately applicable to allow wider use.
• Modifiability, i.e., the ease of partial changes in the stability of the basic properties.
The meaning of the elementary or compound knowledge is secured at all points above if the RDF model has been chosen to represent a conceptual reality.

What is a knowledge pattern?
The term "knowledge pattern" was first used in [1,6]. While building ontologies or knowledge bases, one can see that some structures of modeled knowledge are the same. These same structures of knowledge can be captured as knowledge patterns. Knowledge patterns are general structures (patterns) of knowledge, which are not a part of the target knowledge base. They can be included into a target knowledge base by renaming their nonlogical symbols. This renaming is called morphism. The morphism is an important part of using knowledge patterns [6,7].
Presently, there is no direction for capturing knowledge patterns. We propose to model knowledge patterns in RDF graph models [8,9] of the semantic web.
Going through the topics of knowledge pattern at the web, we have to meet the following more or less similar approaches: • Seeking general knowledge pattern as (1) a small ontology [10] within a well-specified part of the (reference) world.
• Seeking general knowledge pattern as (2) a frame structure of linked data of some oft appearing kernels of together-linked facts about everyday life, as is the case of a firm leading structure and tasks of participants.
• Seeking general knowledge as (3) the helping means on how to construct a special product or software of expected properties.
The first and second cases represent more or less declarative approaches to reach the main result from them. They are of hierarchical strictures of classes with their subclasses. The third one represents a procedural knowledge, but it is difficult to find a common principle of building results as a formal description. But in this case, there is a rich database of very useful prescribes for a big scale in praxis.
A specification of the concept in the title within the formal representation approach can be something like the following: A knowledge pattern [6] concerns "holding as true of a set of sentences or rules about a specified piece of the world-either known by one person or by people generally, all expressed by formal means."

Knowledge pattern (KP) within a knowledge representation
In general, in the field of types of knowledge, two basic cases corresponding to the kinds of knowledge at Section 2.1 of the access in formalization should be considered: 1. Declarative knowledge representation

Procedural knowledge representation
In summary, a common feature in both types of pattern specification is their generic validity within a given environment, verification by historical development, and long-term experience in their applications. If moreover knowledge design patterns are embedded in the semantic web concept environment, they represent a new quality in the sense that their content and form become comprehensible to users without deeper penetration into the principles of knowledge engineering.
In terms of global formal representation, the question is how to create: 3. A unifying approach is generally applicable to the representation of knowledge (sometimes also appearing under the working name "framework approach") based on both of the above approaches, enriched by those means of representation that are missing in the first or second access.
We would like to present here a proposal to use instead of the ontology design patterns [11] for the approach to the topic a simple knowledge pattern bounded especially to specialized kind of knowledge.

Knowledge pattern (KP) versus special design patterns
A majority of authors use the term ontology design pattern (OP) because the OP is, in fact, a modeling solution of solving a recurrent ontology design problem. We would like to show here the fact that the attribute "ontology" is not a necessity in the case of using RDF modeling principle that carries this property as an implicit one.
Definition of the OP according to the authors of the article [11]: Ontology design pattern (or only OP) is a modeling solution to solve a recurrent ontology design problem.
Authors [12] have identified within web documents several types of OPs and have grouped them into six families: Knowledge patterns [13] of declarative or procedural knowledge cases give a possibility how to use rules of similar design patterns as well as in the case of software development. In both cases a natural language plays an important role, and definition in a special language is not necessary.
While examples of software design pattern applications can be found to a large extent, knowledge patterns tend to be related only in a few types of problem areas and their language representations.

Representation of declarative knowledge
At the beginning, the principle of seeing a simplified world was considered an abstraction of the real world to be modeled. Usually, the E-R principal is to be chosen.
The process of conceptualization has stabilized during the development of the means of modeling reality onto the well-established world view as a set of entities with certain characteristics and mutual relationships. Now at first a generally recognized and application-proven way of using a formal language is given for the sake of building a formal description of concepts and their properties based on the basic (conceptual) level of the E-R model world abstraction [14]. Conceptualization is partially subordinated to the expected formal language syntax. The semantics of the language of knowledge represented in this way of seeing the world ought to be derived from declarative descriptions of the properties and relationships of the entities of the given reference world. They are then formally represented according to the rules applicable in the reference world. From anchoring corresponding concepts on the web or the semantic web, the current state of development has to choose the use of the principle of RDF modeling [15]. Using the RDF [15] data model representation gives a possibility of graphic representation of RDF triples [16] as vectors expressing corresponding knowledge elements (see Figure 1): <subject><property><object>.
RDF describes the resource (as a subject), which has some property with a corresponding value (object). The RDF model is based on associative (semantic) networks [17,18].
In the following figure (Figure 1) we can see the conversion of the sentence "Marek teaches the subject of pgm languages." Clearly here we see that the subject is "Marek," the object is "pgm language," and the property is "teaches."

Representation of procedural knowledge
The most successfully applied approach to the representation of procedural properties of the modeled world is the output of the process of algorithmic representation of the modeled reality, which builds a formal description of the reference world based on the graphic expression of the formalization-a flowchart of the basic elements of human activity in it.
Just as a formalization of declarative knowledge is guided by a conceptual flowchart, procedural knowledge [19] is the guiding factor of the problem of its algorithm, i.e., the way of seeing the process described based on elementary programming language components with special language syntax. The representative language used to simulate the performance of the modeled activity usually has a specific form of a programming language reflecting the characteristics of the modeled activity and the practical application needs.
Algorithms typically ignore entities with their properties and relationships, with the interconnection of modeling activities in the process providing "data," usually without any closer anchoring in entity representations. The problem solves the following frame approach of modeling.

The framework character of knowledge
Algorithmic representations of the modeled world with its procedural properties, as well as in the case of point 1, must take into a focus relation to elementary entities and their properties and relationships of a modeled world. It should, therefore, use a representation method based on the RDF model corresponding to point 1, with the terminology relating to entities with their properties and relationships being anchored in the chosen dictionary (ontology) to which access created by the RDF model [20] has been bound.
E.g. the language UML (as a means of describing RDF-modeled reality) would allow UML diagrams to data retrieve into the represented process and their belonging to home entities within the chosen ontology.

Knowledge pattern in a semantic web context 4.1 RDF modeling principle and knowledge patterns
Creating data for the semantic web means conceptualizing world using E-R model with a participation of a key ontology because of sharing and reusing formalized knowledge representation. Each data item can take its meaning from a standardized description of web resources within the proper ontology using its URI identifier.

Semantic web patterns and anti-patterns
The RDF as a general framework for describing, replacing, and reusing metadata represents the technological foundation of the semantic web. From anchoring corresponding concepts on the web (or the semantic web), the current state of development is the use of the RDF [4,21] modeling principle.
RDF describes the resource, which has some properties, and these properties have corresponding values (Figure 1). While the subject defines the source, the property determines its nature and at the same time expresses the relationship between the subject and the object.
The semantic web idea is based on the RDF technology [22], which integrates the web language syntax and the naming of its elements by URIs. So a content presented on the semantic web has a well-defined meaning and allows a better understanding of both people and software agents.
The semantic web provides a common framework that allows data to be shared and reused.
It also emphasizes the ease of understanding and applicability of documents on the web, especially easy usability of knowledge model as well as knowledge pattern approach.

Definition
The knowledge pattern is a general type of component knowledge of proven success, often with a design concept of good practice, a process of structuring, to create the architecture of component knowledge. It may be declarative, procedural, or frame-like.
An anti-pattern is a common often accompanying process phenomenon that is not involved in solving the problem (wrong solutions or "worst-case" solutions). Unlike the model, the anti-model generally describes individual non-model cases and highlights a general solution to recurring problems.
In its formal representation, the knowledge pattern should: • Be anchored within a specific knowledge base with a given semantics.
• If possible be used for the formal representation of knowledge through a language with easy-to-understand interpretations (preferably graphical).
• Have individual atomic components, of which the pattern/anti-pattern is composed, clearly defined, and described.

An example of a knowledge pattern for the case of declarative knowledge
As an example of the knowledge pattern, we shall show in this paragraph the case of a declarative knowledge at its basic logical form.
In the field of formal logic [23], the declarative knowledge design pattern extends deep into the history of formal systems. At a time when philosophers and mathematicians changed their orientation from specific individual descriptions to general principles of reasoning, they came as a result of general principles of deduction in formal logics [23]. Procedures as a rule modus ponens or the resolution inference rule in propositional or predicate logic represent in terms of the ongoing development of artificial intelligence typically general guidance on how to derive from the assumption's logical consequences, respectively how to arrive at a logical deduction on the arguments that confirm or reject given assertions. This is nothing more than a guideline on the application of a knowledge pattern.

Rules of deduction in formal logics in the role of declarative knowledge patterns
The publication on formal logic and semantic web [4] lists several examples of the application of a resolution deduction rule as a knowledge model allowing the derivation of a logical consequence from given assumptions.
The following example illustrates the use of RDF CFL resolution derivation rule that obtained a logical consequent from a knowledge base [4].
An example of immigration rules for Europe is given as a knowledge base in the language of the first-order predicate logic, which, as well known, is not one of the easy-to-understand and usable languages of formal logic. However, there is a way of transferring (according to well-known rules) to the special clause of CFL [24], which has been before based on conceptualization according to the RDF principle. To express its concepts and their properties and relationships, this language, on behalf of RDF CFL [25], uses exclusively the binary predicates. Consequently, a corresponding graphical representation has been used, playing an important role in the semantic web.

Example
Immigration rules for citizen as a knowledge base in the FOPL

Resolution rule in a generalized form
Creating a CFL clause for using the resolution rule of the RDF CLF language according to the scheme: < CFL clause 1 > < CFL clause 2 > < the logical consequent of 1 and 2 > As the set of the RDF CFL clausal form contains only positive atoms, we prepare for the resolution rule those basic atoms that express positive statements about the participating persons and states in our example ( Table 1):

! stateEU(aus).
Verbal expression: "Austria is a state of EU." citizen(anne, aus) ! enter(anne). Logical consequent after a using of the resolution rule.
Verbal expression: "Anne can enter to any state of EU." Similar examples can be seen in the publication [26].

A proposed structure of records in the knowledge pattern archive
Design Name A unique name that adequately describes the knowledge pattern and reference it helps identify. Objective A description of the goal for which the knowledge pattern originated. Also known as Other names for the same knowledge pattern. Context A situation where a description of the knowledge pattern is useful. Motivation ⋆ Description of the problem to be solved by the given knowledge model.

Usage
Situations in which the pattern can be used. This is the context of a knowledge model. Structure Graphic representation of the knowledge pattern.

Participants
List of classes and objects that use this knowledge pattern and their role in the design.

Consequences
A description of the results, side effects, and problems that the pattern makes use of.

Known uses
Examples of practical use of the pattern.

The RDF CFL graph resolution rule in the proposed pattern archive
Design Name RDF CFL graph resolution rule. Objective The pattern in the form of a rule serves a possibility of obtaining further knowledge like consequents of a knowledge base. Also known as -Context Some of the consequents hidden before become visible and could make the whole content more understandable. Motivation ⋆ Better level of usability of a knowledge base. Usage as an example: solving the consequent from two clauses in the graph representation. Structure Symbolic expression of a deduction. <graph of clause 1> <graph of clause 2> <graph of the logical consequent> Participants Graph records of two clauses with at least one identical atom.

Consequences
If an empty clause has been obtained, it means an unsolvability of the input clauses without any consequent.

Known uses
An example of practical use of the pattern seen above at example 1. ⋆ contradictory forces.

Conclusion
The idea of a semantic web can be a handy hand given to those who still feel at least a mistrust, if not resistance, to take knowledge from websites. Knowledge from areas at a high level of science can be discouraged by a layman, among other things, due to ignorance of the special language of the field in question. Thus, any known common patterns, which can be called "knowledge patterns," are not recognized in the new context, so they are generally not considered to be reusable. It is, therefore, necessary to look at approaches that can convey wider usability. The semantic web has this approach in the very description of its definition. Knowledge at a higher professional level can and should usually be given in such a way that their specialized formal expertise incorporates the key to understanding their meaning. Our goal is not to create a universal tutorial, but we must integrate the semantics of knowledge presented in the formal language direct into its syntax. The above graphic example is illustrative.