Re: Specifically on ISSUE-65 (Re: Punning, typed vocabulary, and handling RDF graphs (and ISSUE-65))

Oh, I forgot owl11:subDataPropertyOf and friends. So that's a bit more.

So, I think my bnode for local typing suggestion can eliminate all  
this excess vocabulary (though I'l still point out that it's very  
minimal. The authors did heroic work trying to maximize backwards  
compatibility.

BNODES FOR TERM TYPING

The basic idea is that whenever a use of a term could be ambiguous,  
when we map out we replace the term with an expression of the form:
	[rdf:type <<The Type Intended For This Context>>;
		rdf:value <<The Term>>]


EXAMPLES

So, instead of translating:
	ObjectSomeValuesFrom(p C)

to
	[a ObjectRestriction;
		onProperty p;
		someValuesfrom C]

When p or C have ambiguity introducing type triples

We would translate it to:

	[a owl:Restriction;
		onProperty [rdf:type owl:ObjectProperty;
				      rdf:value p]
		someValuesfrom  [rdf:type owl:Class;
				      rdf:value C]
	]

Similarly:
	SubDataPropertyOf(p, q)

could be disambiguated as:
	[rdf:type owl:DatatypeProperty; rdf:value p]
		rdfs:subPropertyOf
			[rdf:type owl:DatatypeProperty; rdf:value q]

This clearly would trim some of the terms. I guess "excess" is  
relative to whether there are alternative solutions :)

Jeremy, is this better for you? Frankly, I don't see any other  
alternatives (than some new properties or requiring a separated  
vocabulary).

 From an implementation perspective I think the old style of mapping  
is easier or at least no harder. From a user perspective (me), I'd  
rather write the old style of mapping as well.

PROPOSAL

So I would suggest we close ISSUE-65 as rejected. If Jeremy wants to  
champion BNode based typing, of course, we could continue the  
discussion. But at least there's clear choices:

	1) retain the current mapping (my vote)
	2) adopt BNODE style local typing
	3) require a separated vocabulary

So I propose we close ISSUE-65 with no change to the design.

(Note that this is orthogonal to punning vs.  hilog semantics, i.e.,  
whether if :C sameAs :D hold then :C equivalentClass :D holds, I  
believe. If we require a separated vocabulary, then the punning  
semantics debate is moot, but chaning to hilog semantics wouldn't  
solve the typing of expressions problem, I think.)

Cheers,
Bijan.

Received on Thursday, 10 January 2008 13:22:14 UTC