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 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.
See also
- Named graphs and quads, an extension to semantic triples to also include a context node as a fourth element.
References
- http://www.w3.org/TR/PR-rdf-syntax/ "Resource Description Framework (RDF) Model and Syntax Specification"
- 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)
- Katis, Evangelos (2018). Semantic modeling of educational curriculum and syllabus (PhD). Technological Educational Institute of Crete.
- 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)
- 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.
- 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.