You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avalon.apache.org by Niclas Hedhman <ni...@hedhman.org> on 2003/11/13 10:05:45 UTC

[Quick Tutorial] Using RDF

Hi, gang...

Went through a crash course in RDF (10minutes), and would like to share the 
initial impression.

RDF is NOT XML!!!  It can be represented in XML, and I'll get to that.

RDF is about making simple statements about a resource.

The statements are thought or primarily represented as TREEs.
The arrowed lines between the nodes in the tree are the Predicates. The node 
at the start of the line is the Subject, and at the end is the Object.

 +---------+  Predicate   +--------+
 | Subject |------------->| Object |
 +---------+              +--------+

also known as a "Triple". For instance, I could say;

http://niclas.hedhman.org/repository is owned by Niclas Hedhman

In this case, "http://niclas.hedhman.org/repository" is the subject, "is owned 
by" is the predicate and "Niclas Hedhman" is the object.

But RDF is smart to say that each element in the "Triple" is a URI reference, 
so it can look like this;

 +-------------------------------------+   
 |http://niclas.hedhman.org/repository |
 +-------------------------------------+
             |
             | http://hedhman.org/semantics/owned
             |
             V
      "Niclas Hedhman"

"Niclas Hedhman" is string literals, and that is allowed, but by having 
another URI reference there we could increasing the knowledge about the 
owner.

 +-------------------------------------+   
 |http://niclas.hedhman.org/repository |
 +-------------------------------------+
             |
             | http://hedhman.org/semantics/owned
             |
             V
 +-----------------------------------+   
 |http://hedhman.org/family/640925-1 |
 +-----------------------------------+
    |                        |
    | http://hedhman.org/semantics/fullname
    |                        |
    V                        |
 "Pär Niclas Hedhman"        |
                             | http://hedhman.org/semantics/birthdate
                             |
                             V
                        "1964-09-25"


And so on.

RDF allows the use of prefixes, just like XML, to reduce the verbosity and 
improve human readability.

Let's take a quick look at how the above could be represented in XML.

<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:hed="http://hedhman.org/semantics"
>

  <rdf:Description rdf:about="http://niclas.hedhman.org/repository">
    <hed:owned rdf:resource="http://hedhman.org/family/640925-1" />
  </rdf:Description>

  <rdf:Description rdf:about="http://hedhman.org/family/640925-1" >
    <hed:fullname>Niclas Hedhman</hed:fullname>
    <hed:birthdate>1964-09-25</hed:birtdate>
  </rdf:Description>
</rdf:RDF>


RDF also supports user definable datatypes and containers (collections, sets), 
but I won't touch on that here.

An RDF schema is a description on how the statement elements can be formed 
together. There is a declarative language for that,  RDF Vocabulary 
Description Language. It may at first feel a bit awkward that RDF is used to 
define the schema language, i.e. RDF is used to describe your RDF. (But so is 
XML Schema).
It supports quite a lot of object-oriented concepts, including subclassing, so 
it is easy to understand, but I won't go into details here.


So let's get on with it ;o)

Niclas





---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org


Re: [Quick Tutorial] Using RDF

Posted by Niclas Hedhman <ni...@hedhman.org>.
On Thursday 13 November 2003 22:25, Alex Karasulu wrote:
> Any educational links would be appreciated.

Of course it would...

I like the ultimate education... Specs;

http://www.w3.org/RDF/

and this explains most things at an understandable level;

http://www.w3.org/TR/rdf-primer/


Niclas

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org


Re: [Quick Tutorial] Using RDF

Posted by "Daniel S. Haischt" <me...@daniel.stefan.haischt.name>.
btw - my personal favourite are XML TopicMaps (XTM for short).

it is as much feature rich as RDF (DAML+OIL or OWL) and its
XML syntax is much clearer and human readable (which RDF isn't!).

  -> 
http://wiki.daniel.stefan.haischt.name/importal/PortalLibrary/TechnologyLinks/XmlTopicMaps
  -> http://www.topicmaps.org/
  -> http://www.ontopia.net/
  -> http://www.tm4j.org/

cheers

daniel s. haischt

Alex Karasulu wrote:
> Nick,
> 
> Any educational links would be appreciated.
> 
> Thanks,
> Alex
> 
> 
>>-----Original Message-----
>>From: Niclas Hedhman [mailto:niclas@hedhman.org]
>>Sent: Thursday, November 13, 2003 4:06 AM
>>To: dev@avalon.apache.org
>>Subject: [Quick Tutorial] Using RDF
>>
>>
>>Hi, gang...
>>
>>Went through a crash course in RDF (10minutes), and would like to share
>>the
>>initial impression.
>>
>>RDF is NOT XML!!!  It can be represented in XML, and I'll get to that.
>>
>>RDF is about making simple statements about a resource.
>>
>>The statements are thought or primarily represented as TREEs.
>>The arrowed lines between the nodes in the tree are the Predicates. The
>>node
>>at the start of the line is the Subject, and at the end is the Object.
>>
>> +---------+  Predicate   +--------+
>> | Subject |------------->| Object |
>> +---------+              +--------+
>>
>>also known as a "Triple". For instance, I could say;
>>
>>http://niclas.hedhman.org/repository is owned by Niclas Hedhman
>>
>>In this case, "http://niclas.hedhman.org/repository" is the subject, "is
>>owned
>>by" is the predicate and "Niclas Hedhman" is the object.
>>
>>But RDF is smart to say that each element in the "Triple" is a URI
>>reference,
>>so it can look like this;
>>
>> +-------------------------------------+
>> |http://niclas.hedhman.org/repository |
>> +-------------------------------------+
>>             |
>>             | http://hedhman.org/semantics/owned
>>             |
>>             V
>>      "Niclas Hedhman"
>>
>>"Niclas Hedhman" is string literals, and that is allowed, but by having
>>another URI reference there we could increasing the knowledge about the
>>owner.
>>
>> +-------------------------------------+
>> |http://niclas.hedhman.org/repository |
>> +-------------------------------------+
>>             |
>>             | http://hedhman.org/semantics/owned
>>             |
>>             V
>> +-----------------------------------+
>> |http://hedhman.org/family/640925-1 |
>> +-----------------------------------+
>>    |                        |
>>    | http://hedhman.org/semantics/fullname
>>    |                        |
>>    V                        |
>> "Pär Niclas Hedhman"        |
>>                             | http://hedhman.org/semantics/birthdate
>>                             |
>>                             V
>>                        "1964-09-25"
>>
>>
>>And so on.
>>
>>RDF allows the use of prefixes, just like XML, to reduce the verbosity and
>>improve human readability.
>>
>>Let's take a quick look at how the above could be represented in XML.
>>
>><?xml version="1.0"?>
>><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
>>         xmlns:hed="http://hedhman.org/semantics"
>>
>>  <rdf:Description rdf:about="http://niclas.hedhman.org/repository">
>>    <hed:owned rdf:resource="http://hedhman.org/family/640925-1" />
>>  </rdf:Description>
>>
>>  <rdf:Description rdf:about="http://hedhman.org/family/640925-1" >
>>    <hed:fullname>Niclas Hedhman</hed:fullname>
>>    <hed:birthdate>1964-09-25</hed:birtdate>
>>  </rdf:Description>
>></rdf:RDF>
>>
>>
>>RDF also supports user definable datatypes and containers (collections,
>>sets),
>>but I won't touch on that here.
>>
>>An RDF schema is a description on how the statement elements can be formed
>>together. There is a declarative language for that,  RDF Vocabulary
>>Description Language. It may at first feel a bit awkward that RDF is used
>>to
>>define the schema language, i.e. RDF is used to describe your RDF. (But so
>>is
>>XML Schema).
>>It supports quite a lot of object-oriented concepts, including
>>subclassing, so
>>it is easy to understand, but I won't go into details here.
>>
>>
>>So let's get on with it ;o)
>>
>>Niclas
>>
>>
>>
>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
>>For additional commands, e-mail: dev-help@avalon.apache.org
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
> For additional commands, e-mail: dev-help@avalon.apache.org
> 


-- 
mail: me@daniel.stefan.haischt.name
web:  http://www.daniel.stefan.haischt.name/


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org


RE: [Quick Tutorial] Using RDF

Posted by Alex Karasulu <ao...@bellsouth.net>.
Nick,

Any educational links would be appreciated.

Thanks,
Alex

> -----Original Message-----
> From: Niclas Hedhman [mailto:niclas@hedhman.org]
> Sent: Thursday, November 13, 2003 4:06 AM
> To: dev@avalon.apache.org
> Subject: [Quick Tutorial] Using RDF
> 
> 
> Hi, gang...
> 
> Went through a crash course in RDF (10minutes), and would like to share
> the
> initial impression.
> 
> RDF is NOT XML!!!  It can be represented in XML, and I'll get to that.
> 
> RDF is about making simple statements about a resource.
> 
> The statements are thought or primarily represented as TREEs.
> The arrowed lines between the nodes in the tree are the Predicates. The
> node
> at the start of the line is the Subject, and at the end is the Object.
> 
>  +---------+  Predicate   +--------+
>  | Subject |------------->| Object |
>  +---------+              +--------+
> 
> also known as a "Triple". For instance, I could say;
> 
> http://niclas.hedhman.org/repository is owned by Niclas Hedhman
> 
> In this case, "http://niclas.hedhman.org/repository" is the subject, "is
> owned
> by" is the predicate and "Niclas Hedhman" is the object.
> 
> But RDF is smart to say that each element in the "Triple" is a URI
> reference,
> so it can look like this;
> 
>  +-------------------------------------+
>  |http://niclas.hedhman.org/repository |
>  +-------------------------------------+
>              |
>              | http://hedhman.org/semantics/owned
>              |
>              V
>       "Niclas Hedhman"
> 
> "Niclas Hedhman" is string literals, and that is allowed, but by having
> another URI reference there we could increasing the knowledge about the
> owner.
> 
>  +-------------------------------------+
>  |http://niclas.hedhman.org/repository |
>  +-------------------------------------+
>              |
>              | http://hedhman.org/semantics/owned
>              |
>              V
>  +-----------------------------------+
>  |http://hedhman.org/family/640925-1 |
>  +-----------------------------------+
>     |                        |
>     | http://hedhman.org/semantics/fullname
>     |                        |
>     V                        |
>  "Pär Niclas Hedhman"        |
>                              | http://hedhman.org/semantics/birthdate
>                              |
>                              V
>                         "1964-09-25"
> 
> 
> And so on.
> 
> RDF allows the use of prefixes, just like XML, to reduce the verbosity and
> improve human readability.
> 
> Let's take a quick look at how the above could be represented in XML.
> 
> <?xml version="1.0"?>
> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
>          xmlns:hed="http://hedhman.org/semantics"
> >
> 
>   <rdf:Description rdf:about="http://niclas.hedhman.org/repository">
>     <hed:owned rdf:resource="http://hedhman.org/family/640925-1" />
>   </rdf:Description>
> 
>   <rdf:Description rdf:about="http://hedhman.org/family/640925-1" >
>     <hed:fullname>Niclas Hedhman</hed:fullname>
>     <hed:birthdate>1964-09-25</hed:birtdate>
>   </rdf:Description>
> </rdf:RDF>
> 
> 
> RDF also supports user definable datatypes and containers (collections,
> sets),
> but I won't touch on that here.
> 
> An RDF schema is a description on how the statement elements can be formed
> together. There is a declarative language for that,  RDF Vocabulary
> Description Language. It may at first feel a bit awkward that RDF is used
> to
> define the schema language, i.e. RDF is used to describe your RDF. (But so
> is
> XML Schema).
> It supports quite a lot of object-oriented concepts, including
> subclassing, so
> it is easy to understand, but I won't go into details here.
> 
> 
> So let's get on with it ;o)
> 
> Niclas
> 
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
> For additional commands, e-mail: dev-help@avalon.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org