Please, enough with the logic already . We have way too many web logics, a positive zoo of endangered OWL species, so don't give us another one.
Even if you are right, its too late . You and Guha tried, Pat, but nobody was interested in LBase and only about four people have read the Common Logic spec. Give up on it, the RDF/OWL train has left the station.
Web portability Some Logic Stuff Some other Logic Stuff Entails The same Logic Stuff but somewhere else Entails HTTP HTTP The same other Logic Stuff but somewhere else This diagram should always commute:
Names are central in blogic. They are global in scope. They have structure . They link blogical content to other meaningful things, including other blogical content. They embody human/social meanings as well as being conduits and route maps for information transfer. In many ways, the Web is constituted by the links which are the blogic names, and the logical content which we write using those names is only one component, perhaps a minor one, of the whole social and technical structure which determines their meanings. And yet seen from the perspective of the logic, these IRIs are merely "logical names", elements of an arbitrary set of meaningless character strings. In AI/KR, we teach our students that the names are irrelevant, because one can replace them all with gensyms without changing the logical meaning .
Clearly, there is something unsatisfactory about this picture, a serious disconnect between the classical logical view of names as simply uninterpreted strings waiting in a kind of blank innocence to have their possible interpretations controlled by the pure semantic power of the axioms that use them, and the reality of the almost unrestricted referential power that these names actually have in the dynamics of the Web. Think of the concern and attention that is devoted to their choice, who owns them, who is responsible for maintaining and controlling them, and the ways they are decomposed and used in the planet-wide machinery called the Internet, none of which has very much at all to do with logical assertions. Another way to put it: IRIs are *identifiers*, not mere logical names. Unfortunately, nobody seems to be able to say what in God's name that can possibly mean.
HTTP-range-14 is just one symptom of this disconnect.
The 'layer cake' diagram is good computer architecture but really, really bad semantic architecture. Blogical forms do not naturally layer, because names have a different logical status at different levels.
OWL/RDF is layered on RDF in this way, which is why SPARQL cannot know what 'entailed' means.
The same piece of logical text has several different entailment regimes applying to it, with no way to communicate which one is intended, destroying portability.
This is a mess, which will get worse. It will not fix itself. We need to provide blogic as a single layer with one notion of entailment. It can have subcases, but not layers.
But its not so obvious how to say this mathematically . The RDF spec uses set language: it says that an RDF graph is a set of triples, and that blank nodes are elements of a set of items disjoint from URIs and literals. But there is something fundamentally wrong with this 'set' style of describing syntax . Why are blank nodes so hard to get right?
What is missing in RDF concepts is something to capture the intuition that an RDF graph is like a node-arc diagram . (Not a 'mathematical' graph!)
RDF graphs are drawn on surfaces . Blank nodes are marks on the surface . Intuitively, think of a surface as a piece of paper, or a screen, or a document.
Surfaces provide the missing type/token distinction. Putting the same graph onto a new surface is like making a copy. But copying a graph onto a new surface always gets you new blank nodes, because a mark can only be on one surface . Aha!
Formally . Take the RDF concepts as published, add a set of surfaces , disjoint from all the others, and a functional property of being on between blank nodes (call them marks for emphasis) and surfaces. Call the set of marks on a surface the graffiti of the surface. Define a graph to be a pair of an RDF graph G and a surface S such that the blank nodes of G are a subset of the graffiti of S. The triples of a graph are the triples of the RDF graph. We will say that the triples of the graph, and the URIs and literals which occur in the RDF graph are on the surface.
By allowing different kinds of surface, we can encode different assertional modes. For example, the surface can assert the graph or deny the graph or just display the graph without making claims about its truth either way. None of this changes the RDF semantics of RDF graphs!
Once we have denial and scoping, we have negation . RDF already has conjunction and the existential quantifier (blank nodes). This gives a graphical syntax for full first-order logic , if we have the freedom to combine them properly.
Surfaces are a very good idea.
Using a graph syntax for logic is one the oldest ideas (C.S.Peirce, 1885) and very well understood. http://www.flickr.com/photos/lilitupili/260552781/
In order to get the full power of logic, we need a way to include surfaces inside other surfaces.
Extend the abstract RDF-surface model to allow surfaces, as well as nodes and triples, to be on a surface.
A finite set of surfaces tree-ordered by on is a codex . Extending RDF to allow graphs on codices instead of (simple) surfaces makes it into Pierce conceptual graph notation, giving it the power of full FOL (in fact, of ISO Common Logic.)
This graph now has its RDFS meaning in RDF already . The RDF semantics defines the RDFS meaning. It is not a "semantic extension", and there is no layering involved, only abbreviation, AKA syntactic sugar.
With just this much extra apparatus, RDF is all the logic we need.
Currently, OWL has its semantics and so does RDF and this is a problem .
With surfaces, we can simply encode OWL meanings directly in RDF, using the RDF semantics rather than trying to avoid it. Then, OWL (and much of RIF) are simply organized collections of RDF abbreviations and restrictions. There is no layering and no extra semantics: the only requirement for the 'higher-level' specs is to define the 'upper' notations as syntactic sugar.
The RDF+surfaces conceptual model provides a single, universal interchange format for (nearly) all SWeb languages, with a single, uniform semantic model. A true blogic, in fact.
A bigger base for the layer cake. Some of RIF is outside normal logic. SPARQL is a law unto itself. The rest is (revized) RDF with syntactic sugar and restrictions.