Can mapping 2-Graphs to 1-Graphs explain unusual features of RDF?
If Patterson's modelling of RDF in Bicategories of Relations is correct, then RDF is a 2-category (or a bi-category). A bicategory is distinguished from a 1 category in that one also can have arrows between arrows. In Rel the set of relations between two types is orderd as a partial order, that is between two arrows with same domain and codomain there can be at most 1 arrow. Thus one can interpret such an arrow as the first implying the second.
Indeed that is what the rdf:subPropertyOf
relation is doing (definition from RDF 1.1 Semantics §9. It is an arrow between arrows (or a relation between Predicates)
rdfs:subPropertyOf rdfs:domain rdf:Property .
rdfs:subPropertyOf rdfs:range rdf:Property .
And elsewhere in that document the inferencing implications of such a relation are made clear.
Now Pat Hayes wrote in an e-mail to the semantic-web mailing list 18 Jan 2020:
it should also be said that RDF is a slightly nonstandard FOL since it allows the same name to occur in both individual and relation position, which feels ‘higher order’. However, the semantics of RDF is strictly first order. This issue has been explored to death in the literature on, among other things, ISO Common Logic.
The graph underlying a normal category can be defined simply as two functions between two types
start, terminate: Arrow \to Vertices
On the other hand for a bicategory one needs a 2-graph, composed in addition of 2-cells.
s,t: 2Cell \to Arrow
Now RDF is presented syntactically as a 1-Graph, so there has to be a way to map 2-graphs down to 1-graphs. Which is the right way? Could that explain some of the unusual semantics mentioned by Pat Hayes?