Hi Denny
-
Correct - URI
opaqueness is required at the level of exchange but there's no such requirement
internal to an application. During exchange, sure you can add a triple to
assert that Density is the type of the object
France#Density:2012_pop_estimate_Bilan_2010. Outside of exchange, type can
be reported by an API or template which parses the namespace from the
object's name. Obviously this would save one triple per object and per page, in
the triples database - a big win in large datasets such as
WP.
A similar
situation is found today in SMW applications. People create namespaces and then
add a category of the *same name* to the pages and objects in that namespace;
it's highly inefficient and makes me yelp !!
Denny
asks:
How do I know the relationship
between
France#Density:2012_pop_estimate_Bilan_2010
and
Germany#Density:2009_pop_estimate_CIA_2010?
If you're asking
how do you know they're both Density objects.
That's easy -
they're subobjects in the same 'namespace'.
So in SMW speak,
I'd like to use a predicate 'like' operator.
To list all
Density subobjects is just [[~#Density:+]]
To list all for
a page is just [[~France#Density:+]]
To list all for
both is [[~France#Density:+||~Germany#Density:+]]
With regard to
rdf:property - I think you may have meant rdf:predicate as there's no
rdf:property I could find. It's domain is an rdf:Statement not rdf:Resource. Is
a Snak a subtype of rdf:Statement? Why not name it as such,
eg "WMFStatement", to clearly assert its lineage? In any event, I'm
concerned about using rdf:predicate in this manner. In fact I suspect
there's some confusion about reification, because I used dc:Subject / dc:subject
to associate the 'reifier' with the object I think in a quite traditional
uncontroversial manner. To use rdf mechanisms for reification in this context
I'm worried could be particularly problematic.
john
PS yes I was
giving triples!!!!