Re: Skolemization and RDF Semantics

Pat Hayes wrote:
> This kind of construction comes up in our project all the time; almost every artistic classification has a hidden existential in it somewhere (a landscape drawing is one that depicts **a** landscape, etc.. Are we to be obliged to invent URIs to refer to all these things? Every artwork will have a cloud of URIs surrounding it to refer to the people and places it might depict, the particular piece of paint that was used to make a particular mark, the particular composition line that it alone has, etc.. What purpose is served by this proliferation of unresolvable URIs?

That's very interesting, I'd been looking at OO structures over the past 
week to see about blanknode-less RDF, as in requiring that every object 
had an @id/subject, however in almost all in-the-wild data I considered 
I found there to be many anonymous objects - to me this relates directly 
to blank nodes in RDF, and the more I look at it, the more I can't see a 
way to get rid of them practically.

Looking a little closer at the use-cases for anonymous objects, I did 
find it interesting that they were almost always attached to some other 
object which id have an identifier, for example a person's geo location 
or address, a list of status updates, and so forth. It would perhaps be 
fair to say that 99% of the usage I saw would relate to:

   <named-thing> x:predicate [ x:foo "baz"; x:bar "bob" ] .

or
   [ x:foo "baz"; x:b <named-thing> ] .

or
   <named-thing> x:predicate ( [x:a "a"] [x:b "b"] )

or
   <named-thing> x:predicate ( 1 2 3 )

rather than 100% anonymous non related blank nodes like:

   [ x:foo "baz"; x:bar "bob" ] .

Practically speaking (if I think about it hard enough) the only trouble 
or difficulty with blank nodes I've seen has either came from 1) the 
presence of a "blank node identifier" (and it not being a stable 
reference) or 2) uncertainty over handling anonymous 
non-related/attached blank nodes, especially around cardinality / 
removing duplicates.

To expand on 2, basically people being unsure what to do when encountering:

  _:b1 x:a "foo" .
  _:b1 x:b "bar" .
  _:b2 x:a "foo" .

(how many things? is the third triple a duplicate in the set? etc).

So currently I'm feeling that there's it's really a problem with blank 
node identifiers rather than blank nodes themselves, and that blank 
nodes really couldn't be deprecated / are required. (and at the back of 
my mind thinking something about RDF being much easier to manage if 
looked at like a set of paths rather than a set of triples).

Best,

Nathan

Received on Wednesday, 20 April 2011 22:54:12 UTC