Tuesday, April 28, 2009

Levels of language for knowledge

Although I am still not convinced that the current Semantic Web technologies, based on RDF, are in fact the optimal foundation for a true knowledge web, I will continue to proceed on the assumption that RDF is in fact a reasonable starting point. That said, there is a real question of what exactly we can model in RDF. Maybe, in theory, we can model anything and everything in RDF, but is it really an efficient and effective "language" for the higher-levels of knowledge? Even if it "works", in theory, is it really practical?

In computer programming languages we have "levels" of language:

  1. Machine code. The actual bits for the "instructions" executed by the hardware (or interpreter.)
  2. Assembly language. Mnemonic opcodes, symbolic names, macros, and other convenient features, but there is still a one-to-one relationship with machine code instructions.
  3. High-level languages. A compiler or interpreter translates declarations, expressions, "statements", functions, and classes into machine language instructions. These tend to be "procedural" languages.
  4. "4GL". User-oriented "query" languages that allow the user to interact in terms closer to the real world. These tend to be "declarative" languages -- the user says "here is what I want" and the computer figures out how to do it. Maybe even a little natural language or a structured subset.
  5. "5GL". Use of artificial intelligence, such as to infer what the user really wants. Deeper and broader support for natural language.

It may in fact be rather dangerous and counterproductive to assert that a knowledge web can be built and used based on such a hierarchy of languages, but for now it at least seems to be a reasonable conjecture to contemplate, at least until there is some clear and convincing evidence that it is a bad idea.

Using this programming language level model, RDF seems to "fit" as the assembly language level for knowledge. Names, in the form of name spaces and URIs, may be rather cryptic, but they are certainly symbolic, at least to some degree. Triples have a nice, fixed format, with three "fields" (object, predicate, subject), much as machine/assembly language "instructions."

Most significantly, an assembly language is a great tool for advanced, leading edge professionals, but an exceedingly poor tool for "users" such as subject matter experts who know their domain but not necessarily the nuances of the Semantic Web technologies such as RDF.

Clearly there is a need for higher-level knowledge languages. I do not have any detailed answers here and now, but this is obviously an area to think about.

I would close here by noting that we should be careful not to confuse languages and tools. Graphic interactive tools and environments will certainly be as useful in working with knowledge webs as they are in traditional computer programming, but it is still important to be clear about what level of language is being modeled directly behind the fancy graphical images. Putting a pretty GUI frontend on an RDF editor does not magically give the user the ability to converse in a 4GL. In short, a GUI frontend will be appropriate for each level of knowledge language, and the GUI may be radically different for different language levels.

-- Jack Krupansky


At January 26, 2013 at 7:40 AM , Blogger Claudio Timbers said...

Plumbing deals with water and water can suddenly fill your house if you aren't careful with the plumbing. Make sure that you know where the main shut off valve is located in case you spring a leak. Also figure out where the shut off valve is on the pipes you are currently fixing.
plumber in chino hills

At July 15, 2014 at 11:37 PM , Blogger razka said...

"Levels of language for knowledge"

At July 16, 2014 at 3:14 AM , Blogger Prisma Try Laksana said...

Thank you for this information :)


At July 17, 2014 at 1:34 AM , Anonymous Anonymous said...


At September 26, 2014 at 11:18 AM , Anonymous Anonymous said...

It would be interesting to find out more on this story.
Ukraine War | Ukraine News | Ukraine News

At February 6, 2015 at 7:39 PM , Anonymous Wertu said...

a level of language at a certain level it can be determined by a competent and smoothness.
obat peninggi badan


Post a Comment

Subscribe to Post Comments [Atom]

<< Home