Pat, (01)
I fully approve of having a very simple tuple-based notation as
the foundation. (02)
PH> I still think that RDF is at heart a good idea: a very basic,
> simple, notational/semantic foundation level that one can learn
> in an afternoon and write simple applications for in a few days. (03)
Google also approves of that idea, but they don't use RDF or OWL
for the obvious reasons. Instead, they use JSON (JavaScript Object
Notation), which supports arbitrary N-tuples in a notation that
is very readable for humans and far more compact than RDF for its
internal form. Furthermore, they also integrate their technology
with relational databases. (04)
PH> The only 'we' who are going to do this are W3C working groups.
> If you want to convene one, you have to do it yourself or persuade
> someone to do it for you. (05)
Google is doing things right. I have a preference for open standards
rather than proprietary systems, and I hope that people who develop
standards pay attention to what Google is doing: (06)
http://code.google.com/apis/gears/tutorial.html (07)
PH> Just moaning on this or any other email forum isn't going to get
> it done. (08)
I'm not moaning. I'm telling people that Google is on the right
track, and the current Semantic Web is not. I'm betting on Google. (09)
PH> [First-order logic] doesn't apply to the actual information
> [in a relational DB], only the query, and its not full FOL there
> because the quantifiers are all finite. (010)
Several points: (011)
1. The RDB tables can be viewed as *either* a set of ground-level
assertions *or* as a model (in Tarski's sense), in terms of
which the statements in the WHERE clause are evaluated. (012)
2. It is true that no stored relations can be infinite. But
SQL syntax also supports virtual relations, such as less-than
or arithmetical computations, which can have the effect of
being infinite. (013)
3. The WHERE clause has multiple uses. The original use was
for queries, but they also use it to support constraints on
updates. The time to evaluate the WHERE expression in terms
of a collection of ground-level clauses takes polynomial time
(or faster with indexed fields). (014)
4. My preferred notation for RDB WHERE clauses is Datalog, which
has a cleaner notation than SQL. It also supports either
classical negation or negation as failure. (015)
PH> ... the implementors loved triple store technology (which still
> runs way faster than DB tables when you have a large enough RAM... (016)
Several more points: (017)
1. Any processing done in RAM is faster than anything paged from
rotating storage. But that has absolutely nothing to do with
the choice between triples and N-tuples. (018)
2. The single most important optimization is to implement indexes
over the tuples. Every major RDB has excellent indexing
technology, and a triple store without indexing is a dog in
comparison. (There are horror stories about large companies
and gov't agencies that converted their RDBs to RDF with
absolutely disastrous results.) (019)
3. The most sophisticated graph processing technology has *not*
been developed by the comp. sci. gang, but by the chemists,
who have very large graphs to store and process. They don't
use triple stores because they are incredibly slow and naive
for complex operations. We do very sophisticated graph
processing at VivoMind, and we follow the chemists, not the
poor benighted losers who suffer with triple stores. (020)
Triple stores are just one more example where some intelligent,
but ignorant implementers persuaded a large group of people who
didn't do their homework to adopt dead-end technology. (021)
Unless the people at the W3C wise up, I'm betting on Google. (022)
John (023)
_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx (024)
|