In the previous article, we learned that an RDF graph consists of nodes connected by labelled relationships called edges.
Now it's time to learn the most important concept in RDF:
1. The RDF Triple.
Every piece of information stored in an RDF graph is represented as a triple. In fact, whenever you work with RDF, you'll constantly hear terms such as:
· Triple
· Statement
These two terms essentially mean the same thing, and throughout this series, I'll use them interchangeably.
2. What Is an RDF Triple?
Consider the following relationship from the Avengers universe:
Tony Stark ----alias----> Iron Man
This simple relationship consists of:
· A starting node
· A connecting relationship
· An ending node
In RDF, this combination is called a triple. Every RDF triple consists of three components:
Subject Predicate Object or Subject ----Predicate----> Object
Using our example: Tony Stark ----alias----> Iron Man, we get:
|
Component |
Value |
|
Subject |
Tony Stark |
|
Predicate |
alias |
|
Object |
Iron Man |
Let's examine another example:
Iron Man ----memberOf----> Avengers
|
Component |
Value |
|
Subject |
Iron Man |
|
Predicate |
memberOf |
|
Object |
Avengers |
The subject is the node where the relationship starts. The predicate describes the relationship itself. The object is the node where the relationship ends.
Why Is It Called a Triple?
It's called a triple because it always contains exactly three parts: Subject + Predicate + Object, Nothing more. Nothing less.
An RDF graph is simply a collection of many such triples connected together.
3. Predicates Are Binary Relationships
A slightly more technical concept is that RDF predicates are always binary relationships.
The word binary simply means "involving two participants."
A predicate always connects:
A subject
An object
For example:
Spider-Man ----memberOf----> Avengers
The predicate memberOf connects exactly two nodes:
Spider-Man
Avengers
Similarly:
Tony Stark ----portrayedBy----> Robert Downey Jr.
The predicate portrayedBy connects exactly two nodes:
· Tony Stark
· Robert Downey Jr.
Because every predicate links exactly two nodes, RDF relationships are known as binary relations.
4. Building a Larger Graph from Triples
Let's look at several triples together:
· Tony Stark ----alias----> Iron Man
· Iron Man ----memberOf----> Avengers
· Tony Stark ----portrayedBy----> Robert Downey Jr.
· Avengers ----foughtAgainst----> Thanos
Each line is an independent RDF triple. When combined, they form a larger RDF graph. This is one of RDF's greatest strengths.
Large knowledge graphs are built by continuously adding new triples. Over time, these triples create a rich network of interconnected knowledge.
avengers.turtle
@prefix ex: <http://example.org/marvel/> . # Aliases ex:TonyStark ex:alias ex:IronMan . ex:SteveRogers ex:alias ex:CaptainAmerica . ex:BruceBanner ex:alias ex:Hulk . ex:NatashaRomanoff ex:alias ex:BlackWidow . ex:ClintBarton ex:alias ex:Hawkeye . ex:ThorOdinson ex:alias ex:Thor . ex:PeterParker ex:alias ex:SpiderMan . ex:TChalla ex:alias ex:BlackPanther . ex:WandaMaximoff ex:alias ex:ScarletWitch . ex:StephenStrange ex:alias ex:DoctorStrange . # Team Memberships ex:IronMan ex:memberOf ex:Avengers . ex:CaptainAmerica ex:memberOf ex:Avengers . ex:Hulk ex:memberOf ex:Avengers . ex:BlackWidow ex:memberOf ex:Avengers . ex:Hawkeye ex:memberOf ex:Avengers . ex:Thor ex:memberOf ex:Avengers . ex:SpiderMan ex:memberOf ex:Avengers . ex:BlackPanther ex:memberOf ex:Avengers . ex:ScarletWitch ex:memberOf ex:Avengers . ex:DoctorStrange ex:memberOf ex:Avengers . # Portrayed By ex:TonyStark ex:portrayedBy ex:RobertDowneyJr . ex:SteveRogers ex:portrayedBy ex:ChrisEvans . ex:BruceBanner ex:portrayedBy ex:MarkRuffalo . ex:NatashaRomanoff ex:portrayedBy ex:ScarlettJohansson . ex:ClintBarton ex:portrayedBy ex:JeremyRenner . ex:ThorOdinson ex:portrayedBy ex:ChrisHemsworth . ex:PeterParker ex:portrayedBy ex:TomHolland . ex:TChalla ex:portrayedBy ex:ChadwickBoseman . ex:WandaMaximoff ex:portrayedBy ex:ElizabethOlsen . ex:StephenStrange ex:portrayedBy ex:BenedictCumberbatch . # Villains ex:Thanos ex:enemyOf ex:Avengers . ex:Loki ex:enemyOf ex:Thor . ex:Ultron ex:enemyOf ex:Avengers . ex:GreenGoblin ex:enemyOf ex:SpiderMan . ex:RedSkull ex:enemyOf ex:CaptainAmerica . # Battles ex:Avengers ex:foughtAgainst ex:Thanos . ex:Avengers ex:foughtAgainst ex:Ultron . ex:Thor ex:foughtAgainst ex:Loki . ex:SpiderMan ex:foughtAgainst ex:GreenGoblin . ex:CaptainAmerica ex:foughtAgainst ex:RedSkull . # Leadership ex:CaptainAmerica ex:leads ex:Avengers . ex:NickFury ex:founded ex:Avengers . ex:NickFury ex:worksFor ex:SHIELD . # Family Relationships ex:Thor ex:brotherOf ex:Loki . ex:Loki ex:brotherOf ex:Thor . ex:TonyStark ex:childOf ex:HowardStark . ex:TChalla ex:childOf ex:TChaka . # Locations ex:Avengers ex:headquarteredIn ex:AvengersTower . ex:SHIELD ex:headquarteredIn ex:Helicarrier . ex:BlackPanther ex:protectorOf ex:Wakanda . ex:Thor ex:from ex:Asgard . # Artifacts ex:Thanos ex:possesses ex:InfinityGauntlet . ex:InfinityGauntlet ex:contains ex:SpaceStone . ex:InfinityGauntlet ex:contains ex:TimeStone . ex:InfinityGauntlet ex:contains ex:MindStone . ex:InfinityGauntlet ex:contains ex:PowerStone . ex:InfinityGauntlet ex:contains ex:RealityStone . ex:InfinityGauntlet ex:contains ex:SoulStone . # Movie Appearances ex:IronMan ex:appearsIn ex:AvengersEndgame . ex:CaptainAmerica ex:appearsIn ex:AvengersEndgame . ex:Thor ex:appearsIn ex:AvengersEndgame . ex:Hulk ex:appearsIn ex:AvengersEndgame . ex:BlackWidow ex:appearsIn ex:AvengersEndgame . ex:SpiderMan ex:appearsIn ex:AvengersEndgame . ex:DoctorStrange ex:appearsIn ex:AvengersEndgame . ex:Thanos ex:appearsIn ex:AvengersEndgame . # Directors ex:AvengersEndgame ex:directedBy ex:RussoBrothers . ex:AvengersInfinityWar ex:directedBy ex:RussoBrothers . ex:IronManMovie ex:directedBy ex:JonFavreau . ex:ThorRagnarok ex:directedBy ex:TaikaWaititi . # Sequels ex:IronMan2 ex:sequelTo ex:IronManMovie . ex:IronMan3 ex:sequelTo ex:IronMan2 . ex:AvengersEndgame ex:sequelTo ex:AvengersInfinityWar . # Mentorship ex:TonyStark ex:mentorOf ex:PeterParker . ex:PeterParker ex:studentOf ex:TonyStark . # Organizations ex:TonyStark ex:founded ex:StarkIndustries . ex:PepperPotts ex:worksFor ex:StarkIndustries . ex:TonyStark ex:worksFor ex:StarkIndustries . # Events ex:Thanos ex:caused ex:TheSnap . ex:Avengers ex:reversed ex:TheSnap . ex:TheSnap ex:occurredIn ex:AvengersInfinityWar . # Romantic Relationships ex:TonyStark ex:marriedTo ex:PepperPotts . ex:Vision ex:loves ex:ScarletWitch . ex:ScarletWitch ex:loves ex:Vision . # Training ex:DoctorStrange ex:trainedBy ex:AncientOne . ex:SpiderMan ex:trainedBy ex:TonyStark . # Technology ex:TonyStark ex:created ex:Jarvis . ex:TonyStark ex:created ex:IronManSuit . ex:Jarvis ex:evolvedInto ex:Vision .
Above snippet generate following Graph.
5. Can a Node Exist Without a Relationship?
An important rule in RDF is that nodes cannot exist by themselves.
For example, imagine storing "Doctor Strange" by itself. This would not be valid RDF graph data because there is no relationship connecting it to anything else.
Instead, it must participate in at least one triple:
Doctor Strange ----memberOf----> Avengers or Doctor Strange ----portrayedBy----> Benedict Cumberbatch
Once a node participates in a triple, it becomes part of the graph. In other words, RDF stores facts as relationships. If something has no relationship to anything else, it is effectively invisible to the graph.
In summary, every RDF graph is built from triples. A triple consists of: Subject ----Predicate----> Object
Using Avengers examples:
· Tony Stark ----alias----> Iron Man
· Iron Man ----memberOf----> Avengers
· Tony Stark ----portrayedBy----> Robert Downey Jr.
In each case:
· The starting node is the Subject.
· The relationship is the Predicate.
· The ending node is the Object.
These simple triples are the foundation of RDF, Knowledge Graphs, Linked Data, and SPARQL. Once you understand triples, you're ready to start writing RDF data and querying it effectively.
Previous Next Home

No comments:
Post a Comment