From English to RDF Triple - First Attempt

From VoCamp Wiki
Jump to: navigation, search

From English to RDF Triple - First Attempt

Note:[edit]

Below is a good first attempt but has a few inaccuracies that should probably be cleaned up.

  1. Furnishing would not be an instance. It would be a class.
  2. Since Furnishing is a class, we need to use a predicate that relates two classes. This would be subClassOf instead of is_a.
  3. subclass relationships are represented a little differently. In OWL, its something like:
<owl:Class rdf:ID="Table"> 
  <rdfs:subClassOf rdf:resource="#Furnishing" />
</owl:Class>

(Is there an RDF representation? Feel free to add it to the wiki. Thanks.)

Sagredo's Journey[edit]

by Steven G. Harms

Herein I attempt to describe a conversation I had with Roger in which I tried to build up from a "I see things in the world" to RDF pathway. Inspired by Galilei, I will narrate it as a capable, but unlearned, layman (proximal to my actual state at time of writing)

Here at Conjunctured I see that there is a table. I would consider a table something one would buy at a furniture store and, therefore, that would make it a "furnishing."

Thus I would utter to a friend, a colleague, or a child:

A table is a furnishing

This is an English utterance.

Token
Part of speech
Syntax of character
Table noun Subject
is_a verb linking verb
furnishing noun predicate nominative

OK so now what? I'm going to create a vocabulary of nouns. In my (very) short list there is:

table
furnishing
chair
couch

Let me now assert a simple relationship

A table is a furnishing

Let's make it a bit closer to machine-friendly

A table is_a furnishing

Note: We have three elements, each of these correspond to a Class, Predicate, and Instance in RDF-ese.

Token
Part of speech
Syntax of character
RDF Name
Table noun Subject Class
is_a verb linking verb Property
furnishing noun predicate nominative Instance

I realize something here, my unique insight about tables and that they are furnishings has likely been noted before. In fact, someone has (probably) already described this Class, Property, and Instance relationship.

Let's imagine a "furn" namespace which describes the objects and relationships in the realm of furniture:

<furn:table><rdf:Type>Furnishing</rdf:Type></furn:table>

Lo, I have expressed an RDF triple relationship.

An RDF utterance, such as the above, can be put into a store, a database, that can be queried using SPARQL (an SQL-like syntax). I can ask it, Booleanly, if furn:table is_a furn:furnishing. I can ask it for all instances of furnishings stored in the DB, etc.

Now the RDF language is pretty limited in terms of its expressiveness, so you might want to use RDFS. If you find that too limiting, then you might want the richness of OWL.