Examples from the lectures: Difference between revisions
From info216
(→S02) |
(→S03) |
||
Line 35: | Line 35: | ||
==S03== | ==S03== | ||
<syntaxhighlight> | |||
from rdflib import Graph, Namespace | |||
REX = Namespace('http://example.org/royal#') | |||
g = Graph() | |||
g.parse('family.ttl', format='ttl') | |||
res = g.query(""" | |||
CONSTRUCT { | |||
?child fam:aunt ?aunt . | |||
} WHERE { | |||
?child fam:hasParent / fam:hasSister ?aunt . | |||
} | |||
""", | |||
initNs={ | |||
'fam': 'http://example.org/family#' | |||
}, | |||
initBindings={ | |||
'child': REX.SverreMagnus | |||
}) | |||
</syntaxhighlight> | |||
==S04== | ==S04== |
Revision as of 13:00, 21 February 2022
This page contains code examples from the lectures.
S02
from inspect import formatargspec
from rdflib import Graph, Literal, RDF, FOAF, Namespace
g = Graph()
EX = Namespace('http://ex.org/')
g.add((EX.Bob, RDF.type, FOAF.Person))
g.add((EX.Alice, RDF.type, FOAF.Person))
g.add((EX.Carol, RDF.type, FOAF.Person))
g.add((EX.Bob, FOAF.knows, EX.Alice))
g.add((EX.Bob, FOAF.knows, EX.Carol))
g.add((EX.Bob, FOAF.name, Literal('Bob')))
g.add((EX.Alice, FOAF.name, Literal('Alice')))
g.add((EX.Carol, FOAF.name, Literal('Carol')))
g.namespace_manager.bind('ex', EX)
print(g.serialize(format='json-ld'))
for p, o in g[ EX.Bob : : ]:
print(p, o)
g2 = Graph()
g2.parse('https://www.wikidata.org/entity/Q935079.ttl')
print(g2.serialize())
S03
from rdflib import Graph, Namespace
REX = Namespace('http://example.org/royal#')
g = Graph()
g.parse('family.ttl', format='ttl')
res = g.query("""
CONSTRUCT {
?child fam:aunt ?aunt .
} WHERE {
?child fam:hasParent / fam:hasSister ?aunt .
}
""",
initNs={
'fam': 'http://example.org/family#'
},
initBindings={
'child': REX.SverreMagnus
})