Semantic triple

A semantic triple, or RDF triple or simply triple, is the atomic data entity in the Resource Description Framework (RDF) data model.[1] As its name indicates, a triple is a set of three entities that codifies a statement about semantic data in the form of subject–predicate–object expressions (e.g., "Bob is 35", or "Bob knows John").

Subject, predicate and object

This format enables knowledge to be represented in a machine-readable way. Particularly, every part of an RDF triple is individually addressable via unique URIs — for example, the statement "Bob knows John" might be represented in RDF as:

http://example.name#BobSmith12 http://xmlns.com/foaf/0.1/knows http://example.name#JohnDoe34.

Given this precise representation, semantic data can be unambiguously queried and reasoned about.

The basic semantic triple model.

The components of a triple, such as the statement "The sky has the color blue", consist of a subject ("the sky"), a predicate ("has the color"), and an object ("blue"). This is similar to the classical notation of an entity–attribute–value model within object-oriented design, where this example would be expressed as an entity (sky), an attribute (color) and a value (blue).

From this basic structure, triples can be composed into more complex models, by using triples as objects or subjects of other triples — for example, Mike → said → (triples → can be → objects).

Given their particular, consistent structure, a collection of triples is often stored in purpose-built databases called Triplestores.

Difference to relational databases

A relational database is the classical form for information storage. It's working with different tables which consist of rows. The well known SQL-language is able to retrieve information from a database. In contrast, the RDF triple storage is working with logical predicates. No tables nor rows are needed but the information is stored in a text file. A RDF-triple storage can be converted into a SQL database and the other way around.[2] If the knowledge is highly unstructured and dedicated tables aren't flexible enough, semantic triples are used over classical SQL storage.

In contrast to a traditional SQL database, the RDF triple storage isn't created with table editors but the preferred tool is a knowledge editor, for example Protege.[3] Protégé looks similar to an object-oriented modeling application used for software engineering, but it's focused on natural language information. The RDF triples are aggregated into a knowledge base which allows external parser to run requests. Possible applications are located within video games for the creation of non player characters.[4]

Limitations

An easy to solve concern about triple storage is the missing Database scalability towards larger datasets.[5] The problem has become visible if not only a few information but millions of triples are stored and retrieved in a database. The seek time is larger than for classical SQL based databases.

A bit harder to fix is the missing ability to predict future situation with a given knowledge model. Even if all the information are available as logical predicates, the model fails in answering what-if questions. For example, suppose in the RDF-format the world of a robot is described very well. The robot knows what the location of the table is, is aware of the distance to the table in centimeter and knows also that a table is a furniture. Before the robot can plan the next action he needs temporal reasoning capabilities.[6] That means, the knowledge model should answer hypothetical questions in advance before an action was taken.

gollark: Although it probably shouldn't run in quadratic time, at least.
gollark: Ah, it looks like the weighted random algorithm is poor.
gollark: Or I could just reimplement the entire markov module in Rust or something.
gollark: I'll see if I can make it work faster first.
gollark: That could work actually.

See also

References

  1. http://www.w3.org/TR/PR-rdf-syntax/ "Resource Description Framework (RDF) Model and Syntax Specification"
  2. Cuddihy, Paul and McHugh, Justin and Williams, Jenny Weisenberg and Mulwad, Varish and Aggour, Kareem S (2017). "SemTK: An Ontology-first, Open Source Semantic Toolkit for Managing and Querying Knowledge Graphs". arXiv:1710.11531 [cs.AI].CS1 maint: multiple names: authors list (link)
  3. Katis, Evangelos (2018). Semantic modeling of educational curriculum and syllabus (PhD). Technological Educational Institute of Crete.
  4. Kluwer, Tina and Adolphs, Peter and Xu, Feiyu and Uszkoreit, Hans and Cheng, Xiwen (2010). Talking NPCs in a virtual game world. Proceedings of the ACL 2010 System Demonstrations. pp. 36–41.CS1 maint: multiple names: authors list (link)
  5. Jaroslav Pokorny (2015). "Graph Databases: Their Power and Limitations". Computer Information Systems and Industrial Management (PDF). Lecture Notes in Computer Science. 9339. Springer International Publishing. pp. 58–69. doi:10.1007/978-3-319-24369-6_5. ISBN 978-3-319-24368-9.
  6. Claudio Gutierrez and Carlos Hurtado and Alejandro Vaisman (2007). "Introducing Time into RDF". IEEE Transactions on Knowledge and Data Engineering. Institute of Electrical and Electronics Engineers (IEEE). 19 (2): 207–218. doi:10.1109/tkde.2007.34.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.