Knowledge Graphs provide a neat and easy way to segment your data, called ‘*Named Graphs*‘. This post shows how you access them, and different uses they may be put to.

# Tag Archives: Semantic Web

# Knowledge Graphs 6 – Semantics

With this installment we finally get to the part of knowledge graphs that I personally find really exciting: Semantics. In this installment, I will introduce some of the simple rules of entailment that are a part of the RDFS standard.

Continue reading# Knowledge Graphs 5 – Modelling with RDFS

This installment moves beyond the simple graph model of RDF to introduce the modelling support of RDF Schema. I will go on to show you how using the W3C Standard RDFS imbues your data with another layer of meaning, and makes it easier for you to enrich your raw data with meaning over time.

Continue reading# Knowledge Graphs 4 – Querying your knowledge graph using .NET

This installment leaves the CLI behind to show how we consume a knowledge graph within our programmatic environments. The framework I use to work with RDF is dotNetRdf.

Continue reading# Knowledge Graphs 3 – Using a Triple Store

Last time I showed you how to use CLI tools to build out your RDF data to more depth using Turtle files and how to query it using the Apache Jena CLI toolchain using SPARQL Query language. This time I’ll show how to insert and retrieve data from a remote triple store. I’ll continue using the CLI tools for now.

Continue reading# Knowledge Graphs 101

This is the first in a short series introducing Knowledge Graphs. It covers just the basics, showing how to write, store, query and work with graph data using RDF (short for *Resource Description Format*). I will keep it free of theory and interesting but unnecessary digressions. Let me know in the comments if you find it useful, and also tell me what other Knowledge Graph topics you would like to know more about.

This post shows some of the basics of RDF and knowledge graphs. It introduces the simple idea of the *triple*, how you make statements with them, and piece them together into graphs. I show how you can neatly write RDF using the *Turtle* language as well as how to use the elegant query language *SPARQL* to explore your knowledge graph.

# Quantum Reasoners Hold Key to Future Web

Last year, a company called DWave Systems announced their quantum computer (the ‘Orion’) – another milestone on the road to practical quantum computing. Their controversial claims seem worthy in their own right but they are particularly important to the semantic web (SW) community. The significance to the SW community was that their quantum computer solved problems akin to Grover’s Algorithm speeding up queries of disorderly databases.

Semantic web databases are not (completely) disorderly and there are many ways to optimize the search for matching triples to a graph pattern. What strikes me is that the larger the triple store, the more compelling the case for using some kind of quantum search algorithm to find matches. DWave are currently trialing 128qbit processors, and they claim their systems can scale, so I (as a layman) can see no reason why such computers couldn’t be used to help improve the performance of queries in massive triple stores.

What I wonder is:

- what kind of indexing schemes can be used to impose structure on the triples in a store?
- how can one adapt a B-tree to index each element of a triple rather than just a single primary key – three indexes seems extravagant.
- are there quantum algorithms that can beat the best of these schemes?
- is there is a place for quantum superposition in a graph matching algorithm (to simultaneously find matching triples then cancel out any that don’t match all the basic graph patterns?)
- if DWave’s machines could solve NP-Complete problems, does that mean that we would then just use OWL-Full?
- would the speed-ups then be great enough to consider linking everyday app data to large scale-upper ontologies?
- is a contradiction in a ‘quantum reasoner’ (i.e. a reasoner that uses a quantum search engine) something that can never occur because it just cancels out and never appears in the returned triples? Would any returned conclusion be necessarily true (relative to the axioms of the ontology?)

Any thoughts?

** UPDATE**DWave are now working with Google to help them improve some of their machine learning algorithms. I wonder whether there will be other research into the practicality of using DWave quantum computing systems in conjunction with inference engines? This could, of course, open up whole new vistas of services that could be provided by Google (or their competitors). Either way, it gives me a warm feeling to know that every time I do a search, I’m getting the results from a quantum computer (no matter how indirectly). Nice.