Semantic Web. I have an idea that I think is very important but I haven’t yet polished to the point where I’m comfortable sharing it.
I’m going to share it anyway, unpolished, because I think it’s that useful. So here I am, handing you a dull, gray stone, and I’m saying there’s a diamond inside. Maybe even a dilithium crystal. My hope is that a few experts will see what I see and help me safely extract it. Or maybe someone has already extracted it, and they can just show me. The problem I’m trying to solve is at the core of decentralized (or loosely-coupled) systems. RDF offers a solution to this, but it turns out to be pretty hard to put into practice. Consider two on-the-web temperature sensors: The careful human reader will immediately wonder whether these temperatures are in Celcius or Fahrenheit, or if maybe the first is in Celcius and the second Fahrenheit.
Here’s the first sketch of my solution: I know it looks ugly, but now it’s clear that both readings are in Fahrenheit. I’m not sure yet. No. Inference. What is Inference?
Broadly speaking, inference on the Semantic Web can be characterized by discovering new relationships. On the Semantic Web, data is modeled as a set of (named) relationships between resources. “Inference” means that automatic procedures can generate new relationships based on the data and based on some additional information in the form of a vocabulary, e.g., a set of rules. Whether the new relationships are explicitly added to the set of data, or are returned at query time, is an implementation issue. On the Semantic Web, the source of such extra information can be defined via vocabularies or rule sets. What Inference is Used For? Inference on the Semantic Web is one of the tools of choice to improve the quality of data integration on the Web, by discovering new relationships, automatically analysing the content of the data, or managing knowledge on the Web in general.
Examples A simple example may help. Usage and techniques of ontologies and rules largely overlap. Vertical Applications. What are Vertical Applications?
Vertical applications is the term used at W3C to denote particular, generic application areas, specific communities, etc, that explore how W3C technologies (e.g., Semantic Web technologies) can help their operations, improve their efficiencies, provide better user experiences, etc. Some of these application areas may decide to form some sort a group at W3C to cooperate with other W3C members to explore these possibilities further. Examples for such vertical applications that have contact with W3C on different levels are health care and life sciences, social spaces, digital libraries, financial services, oil & gas exploration, or e-Government.
What are Vertical Applications Used For? Apart from the inherent advantages for a particular vertical application area to get a better familiarity with a particular W3C technology, these groups also provide valuable feedbacks on the technologies themselves. Examples Learn More Current Status of Specifications. Query. What is Query?
“Query” in the Semantic Web context means technologies and protocols that can programmatically retrieve information from the Web of Data. What is Query Used For? The Semantic Web is a Web of data — of dates and titles and part numbers and chemical properties and any other data one might conceive of. RDF provides the foundation for publishing and linking your data. Various technologies allow you to embed data in documents (RDFa, GRDDL) or expose what you have in SQL databases, or make it available as RDF files. However, just as relational databases or XML need specific query languages (SQL and XQuery, respectively), the Web of Data, typically represented using RDF as a data format, needs its own, RDF-specific query language and facilities.
Technically, SPARQL queries are based on (triple) patterns. Examples The short introduction on inferences includes a small example with a dataset containing the triple (Flipper isA Dolphin). Learn More Current Status of Specifications. Ontologies. What is a Vocabulary?
On the Semantic Web, vocabularies define the concepts and relationships (also referred to as “terms”) used to describe and represent an area of concern. Vocabularies are used to classify the terms that can be used in a particular application, characterize possible relationships, and define possible constraints on using those terms. In practice, vocabularies can be very complex (with several thousands of terms) or very simple (describing one or two concepts only). There is no clear division between what is referred to as “vocabularies” and “ontologies”. The trend is to use the word “ontology” for more complex, and possibly quite formal collection of terms, whereas “vocabulary” is used when such strict formalism is not necessarily used or only in a very loose sense.
What are Vocabularies Used For? Another type of example is to use vocabularies to organize knowledge. It depends on the application how complex vocabularies they use. Examples A general example may help. Data. Tim Berners-Lee on the next Web.