Lab Solutions: Difference between revisions
No edit summary |
No edit summary |
||
Line 31: | Line 31: | ||
===Coding Tasks Lab 2=== | ===Coding Tasks Lab 2 - Collections === | ||
<syntaxhighlight> | <syntaxhighlight> | ||
from rdflib import Graph, Namespace | |||
from rdflib.collection import Collection | from rdflib.collection import Collection | ||
Revision as of 10:24, 24 January 2020
This page will be updated with Python examples related to the lectures and labs. We will add more examples after each lab has ended. The first examples will use Python's RDFlib. We will introduce other relevant libraries later.
Lecture 1: Python, RDFlib, and PyCharm
Coding Tasks Lab 1
from rdflib import Graph, Namespace, URIRef, BNode, Literal
from rdflib.namespace import RDF, FOAF, XSD
g = Graph()
ex = Namespace("http://example.org/")
g.add((ex.Cade, ex.married, ex.Mary))
g.add((ex.France, ex.capital, ex.Paris))
g.add((ex.Cade, ex.age, Literal("27", datatype=XSD.integer)))
g.add((ex.Mary, ex.age, Literal("26", datatype=XSD.integer)))
g.add((ex.Mary, ex.interest, ex.Hiking))
g.add((ex.Mary, ex.interest, ex.Chocolate))
g.add((ex.Mary, ex.interest, ex.Biology))
g.add((ex.Mary, RDF.type, ex.Student))
g.add((ex.Paris, RDF.type, ex.City))
g.add((ex.Paris, ex.locatedIn, ex.France))
g.add((ex.Cade, ex.characteristic, ex.Kind))
g.add((ex.Mary, ex.characteristic, ex.Kind))
g.add((ex.Mary, RDF.type, FOAF.Person))
g.add((ex.Cade, RDF.type, FOAF.Person))
Coding Tasks Lab 2 - Collections
from rdflib import Graph, Namespace
from rdflib.collection import Collection
# Sometimes we want to add many objects for the same predicate at once.
# In these cases we can use Collection() to save some time.
# In this case I want to add all countries that Emma has visited at once.
b = BNode()
g.add((ex.Emma, ex.visit, b))
Collection(g, b,
[ex.Portugal, ex.Italy, ex.France, ex.Germany, ex.Denmark, ex.Sweden])
# OR
g.add((ex.Emma, ex.visit, ex.EmmaVisits))
Collection(g, ex.EmmaVisits,
[ex.Portugal, ex.Italy, ex.France, ex.Germany, ex.Denmark, ex.Sweden])
INFO216, UiB, 2017-2020. All code examples are CC0.