To: | <ontolog-forum@xxxxxxxxxxxxxxxx> |
---|---|
From: | jmcclure@xxxxxxxxxxxxxx |
Date: | Thu, 30 May 2013 09:00:11 -0700 |
Message-id: | <fa89e89dd159acafb2cc6273e73f07b4@xxxxxxxxxxxxxx> |
John Sowa's link is fascinating, as it uses prepositions as predicates (almost exclusively), as well as the noun<space>name format of which I am so fond. Beyond that, I think for the comparison, it's important to note that relational systems by and large accurately capture that ""Cat X (is) on a mat", but generally fail to capture both "A cat (is) on a mat" and that "Cats (can be) on mats". In other words, the comparison might effectively contrast kinds of statements generally found in each type of repository. Again, thanks for the link, John. -john On 30.05.2013 04:04, John F Sowa wrote: Kingsley, I like the idea. I believe you can do it with a minimum of jargon. KIto build a comparison (for moderately technical and attention challenged audience) between relational tables oriented RDBMS systems and relational (property/predicate) graph oriented RDBMS systems: 1. Relationship Representation 2. Relation Representation 3. Identifiers Types 4. Data Value Types (aka. Datatypes) 5. Entity Relationship Semantics Granularity.All those terms should be mentioned, but *not* at the beginning of a tutorial for the audience you mention. Instead, I suggest that you start with something that is much easier to introduce: *spreadsheets* -- and the difference between the column headings of the spreadsheet and the identifiers of values in the rows. That gives you tables that can represent anything in any RDBMS. For graphs, I do *not* recommend that you use RDF or even N3 or Turtle. Instead, I suggest E-R diagrams for the entity types and relations. Then convert E-R diagrams to *instance graphs* just by combining identifiers and type labels. For example, change entity type Person to the *typed instance* Person:Kingsley or Person:"Kingsley Idehen". After you do that, you can show how to map the info from a table (spreadsheet) to and from instance graphs. For the blank nodes in RDF (which represent existential quantifiers), you could write Person:∃ -- that's a bit of jargony notation, but it's only one easy to remember symbol. And it's *much* easier to say that ∃ means "there exists something of the given type" than to explain what blank nodes mean in RDF. After you get the reader from E-R diagrams to instance diagrams with ∃ for blank nodes, you have full RDF. To move to full first order logic, you only need one more feature: a notation for negating any graph or subgraph. Fortunately, Peirce invented that. See my intro to Common Logic for that option: http://www.jfsowa.com/talks/clintro.pdf You could do something along the lines of slides 7 to 10, but with the notation of instance graphs (and shaded ovals for negation) instead of Peirce's original notation. For an advanced exercise (optional for the novices), you can show how to map an SQL WHERE-clause (which supports full FOL) to instance graphs with negation and blank nodes marked with ∃. For the nodes that correspond to the desired answers, replace "∃" with "?" With this approach you can cover all the items on your list by starting with nothing more than spreadsheets and a subset of E-R diagrams: 1. Use the same type labels in E-R and the headings of spreadsheets. 2. Use the same strings in the boxes of the spreadsheets and after the ":" in the instance graphs. 3. For query graphs, the nodes marked with "?" represent the answers listed in the SELECT clause that precedes the WHERE. 4. Then show how queries in the notation of instance graphs can be mapped to SQL -- or SPARQL. That gives you a tutorial with almost no jargon and a useful notation that the readers could begin using immediately. In fact, you could implement a translator from that notation to RDF, SQL, and SPARQL that would eliminate the need for them to learn any other notation. John _________________________________________________________________ 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 _________________________________________________________________ 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 (01) |
<Prev in Thread] | Current Thread | [Next in Thread> |
---|---|---|
|
Previous by Date: | Re: [ontolog-forum] Data & Relations, jmcclure |
---|---|
Next by Date: | Re: [ontolog-forum] Data & Relations, William Frank |
Previous by Thread: | Re: [ontolog-forum] The Society of Mind as Internet platform, John F Sowa |
Next by Thread: | Re: [ontolog-forum] Grover Models, John McClure |
Indexes: | [Date] [Thread] [Top] [All Lists] |