0

We hear a lot about graph databases such as Neo4J and a little less about semantic platforms such as OWLIM and similar triple (or quad) stores.

I understand the latter is associated with embedded OWL support but what does that mean in value terms? What is the unique value of an RDF triple/quad store with OWL tooling that is not offered by a simpler graph database without "semantic" features?

I am looking for the business outcomes that might be achievable with semantic tech only.

closed as unclear what you're asking by Ixrec, durron597, GlenH7, user40980, Bart van Ingen Schenau Oct 13 '15 at 13:55

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    A graph database doesn't have any meaning (i.e. "semantics"), in and of itself. You can probably implement a semantic platform using a graph database. – Robert Harvey Oct 12 '15 at 17:07
2

A semantic platform can answer questions whose answers are not directly captured by the facts, by reasoning over the facts using rules, some of which are built in and some added by a domain expert.


In a semantic platform, you can describe a property as being transitive, meaning the if there is a relationship R between A and B and there is a relationship R between B and C, it can infer that there is a relationship R between A and C.

That alone is somewhat sophisticated and hard to code within a single complex query in a graph db or non-semantic platform. One could hard code an example, sure, but transitivity could have any number of hops (which some graph db's can indeed support). Further however, using a semantic platform, we don't have to code the hops, loops or recursion, rather we merely tell the platform that some property or relationships is transitive, and it infers the rest.

We can also describe one entity as being a subclass of another entity, where being a subclass means that members, properties, or qualities of the base apply to subclasses.

Further, these rules and/or descriptions can be combined and interact. The semantic platform can reason thru multiple rules connecting multiple entities and relationships to give answers.

So using those rules, for example, we can logically describe a traditional system of classes and instances with members(, properties, or qualities). If class A's instances have a member (or quality) M, and class B is a subclass of A, and class C is subclass of B, then the reasoning system will realize that (1) C is a subclass of A, and (2) M is applicable to C's instances.

This kind of thing would be relatively difficult to code in one non-semantic graph db query (even using views), that is, without the application resorting to multiple queries and being driven by its own external logic (which goes to what @Robert said of layering semantics on top of the graph db).

Semantic platforms typically have dozens and dozens of rules, e.g. Transitive Axiom: http://www.w3.org/TR/owl2-syntax/#Transitive_Object_Properties

There are also varied levels of logic, which are progressively more powerful. Semantic platforms usually employ Description Logic (https://en.wikipedia.org/wiki/Description_logic), which is specifically limited so as to have certain qualities of computability (aka decidability). First Order Logic systems (https://en.wikipedia.org/wiki/First-order_logic) have higher expressiveness, through their use of variables and quantifiers. Thus, they can solve problems DL's can't. There are also more complex logic systems beyond FOL...

  • 1
    Doesn't this simply mean that there is a second place to define logic? All databases support logic through queries, semantic databases just offer a different implementation strategy for the same logic? Also, can the rules offer genuine insight or just vocabulary mappings? – Simon Gibbs Oct 13 '15 at 8:06
  • On the one hand, you're right, rules are another place to put logic. Still, I think the logic you can put there is more sophisticated than what you might code in a graph db query or view. A formal analysis of that is beyond the scope of what I can answer, but I'll try to add an example. Inferences (from rules) can certainly be more than just mappings of terms. – Erik Eidt Oct 16 '15 at 17:50

Not the answer you're looking for? Browse other questions tagged or ask your own question.