def convert_to_rdf(): """ Converts the read data to triples """ print "" print "Convert to RDF..." movies = common.read_json(JSON_OUT_FILE) g = Graph() g.bind("", NS_OMDB) g.bind("dbpedia-owl", NS_DBPEDIA_OWL) g.bind("dbpprop", NS_DBPPROP) for m in movies: movie = URIRef(BASE_URI % common.encodeString(m["title"])) g.add((movie, RDF.type, NS_DBPEDIA_OWL.Film)) g.add((movie, RDFS.label, Literal(m["title"]))) g.add((movie, NS_DBPPROP.title, Literal(m["title"]))) if "imdbID" in m: g.add((movie, NS_DBPEDIA_OWL.imdbId, Literal(m["imdbID"]))) common.write_rdf(RDF_OUT_FILE, g)
def convert_to_rdf(): """ Converts the read data to triples """ print "" print "Convert to RDF..." songs = common.read_json(JSON_OUT_FILE) g = Graph() g.bind("", NS_LASTFM) g.bind("dbpedia-owl", NS_DBPEDIA_OWL) g.bind("dbpprop", NS_DBPPROP) for s in songs: if "tags" not in s or len(s["tags"]) < 1: continue artist = URIRef(BASE_URI % common.encodeString(s["artist"])) g.add((artist, RDF.type, NS_DBPEDIA_OWL.MusicalArtist)) g.add((artist, RDFS.label, Literal(s["artist"]))) g.add((artist, NS_DBPPROP.name, Literal(s["artist"]))) song = URIRef(BASE_URI % common.encodeString(u"{0:s} - {1:s}".format(s['artist'], s["title"]))) g.add((song, RDF.type, NS_DBPEDIA_OWL.Song)) g.add((song, RDFS.label, Literal(u"{0:s} - {1:s}".format(s['artist'], s["title"])))) g.add((song, NS_DBPPROP.title, Literal(s["title"]))) g.add((song, NS_DBPEDIA_OWL.artist, artist)) for t in s["tags"]: g.add((song, NS_LASTFM.tagged, Literal(t))) common.write_rdf(RDF_OUT_FILE, g)
def convert_to_rdf(): print "" print "Convert to RDF..." charts = common.read_json(JSON_OUT_FILE) g = Graph() g.bind("", NS_CHARTS) g.bind("dbpedia-owl", NS_DBPEDIA_OWL) g.bind("dbpprop", NS_DBPPROP) for c in charts: if c["date"] < "2005-01-01T00:00:00": continue chart = URIRef(BASE_URI % common.encodeString( datetime.strptime(c["date"], "%Y-%m-%dT%H:%M:%S").strftime("%Y-%m-%d"))) g.add((chart, RDF.type, NS_CHARTS.Chart)) g.add((chart, NS_DBPEDIA_OWL.publicationDate, Literal(c["date"] + "Z", datatype=XSD.dateTime))) for t in c["tracks"]: artist = URIRef(BASE_URI % common.encodeString(t["artist"])) g.add((artist, RDF.type, NS_DBPEDIA_OWL.MusicalArtist)) g.add((artist, RDFS.label, Literal(t["artist"]))) g.add((artist, NS_DBPPROP.name, Literal(t["artist"]))) song = URIRef(BASE_URI % common.encodeString( u"{0:s} - {1:s}".format(t['artist'], t["title"]))) g.add((song, RDF.type, NS_DBPEDIA_OWL.Song)) g.add((song, RDFS.label, Literal(u"{0:s} - {1:s}".format(t['artist'], t["title"])))) g.add((song, NS_DBPPROP.title, Literal(t["title"]))) g.add((song, NS_DBPEDIA_OWL.artist, artist)) ranked = BNode() g.add((ranked, RDF.type, NS_CHARTS.RankedSong)) g.add((ranked, NS_CHARTS.song, song)) g.add((ranked, NS_CHARTS.position, Literal(t["pos"], datatype=XSD.integer))) g.add((ranked, RDFS.label, Literal(u"{0:s}: {1:s} - {2:s}".format( t["pos"], t['artist'], t["title"])))) g.add((chart, NS_CHARTS.rankedSong, ranked)) common.write_rdf(RDF_OUT_FILE, g)
def convert_to_rdf(): """ Converts the read data to triples """ print "" print "Convert to RDF..." charts = common.read_json(JSON_OUT_FILE) g = Graph() g.bind("", NS_CHARTS) g.bind("dbpedia-owl", NS_DBPEDIA_OWL) g.bind("dbpprop", NS_DBPPROP) for c in charts: if c["date"] < CONVERT_FROM_DATE: continue chart = URIRef( BASE_URI % common.encodeString(datetime.strptime(c["date"], "%Y-%m-%dT%H:%M:%S").strftime("%Y-%m-%d"))) g.add((chart, RDF.type, NS_CHARTS.Chart)) g.add((chart, NS_DBPEDIA_OWL.publicationDate, Literal(c["date"] + "Z", datatype=XSD.dateTime))) for t in c["tracks"]: artist = URIRef(BASE_URI % common.encodeString(t["artist"])) g.add((artist, RDF.type, NS_DBPEDIA_OWL.MusicalArtist)) g.add((artist, RDFS.label, Literal(t["artist"]))) g.add((artist, NS_DBPPROP.name, Literal(t["artist"]))) song = URIRef(BASE_URI % common.encodeString(u"{0:s} - {1:s}".format(t['artist'], t["title"]))) g.add((song, RDF.type, NS_DBPEDIA_OWL.Song)) g.add((song, RDFS.label, Literal(u"{0:s} - {1:s}".format(t['artist'], t["title"])))) g.add((song, NS_DBPPROP.title, Literal(t["title"]))) g.add((song, NS_DBPEDIA_OWL.artist, artist)) ranked = BNode() g.add((ranked, RDF.type, NS_CHARTS.RankedSong)) g.add((ranked, NS_CHARTS.song, song)) g.add((ranked, NS_CHARTS.position, Literal(t["pos"], datatype=XSD.integer))) g.add((ranked, RDFS.label, Literal(u"{0:s}: {1:s} - {2:s}".format(t["pos"], t['artist'], t["title"])))) g.add((chart, NS_CHARTS.rankedSong, ranked)) common.write_rdf(RDF_OUT_FILE, g)
def convert_to_rdf(): """ Converts the read data to triples """ print "" print "Convert to RDF..." movies = common.read_json(JSON_OUT_FILE) g = Graph() g.bind("", NS_TUNEFIND) g.bind("dbpedia-owl", NS_DBPEDIA_OWL) g.bind("dbpprop", NS_DBPPROP) for m in movies: movie = URIRef(BASE_URI % common.encodeString(m["title"])) g.add((movie, RDF.type, NS_DBPEDIA_OWL.Film)) g.add((movie, RDFS.label, Literal(m["title"]))) g.add((movie, NS_DBPPROP.title, Literal(m["title"]))) for s in m["soundtrack"]: artist = URIRef(BASE_URI % common.encodeString(s["artist"])) g.add((artist, RDF.type, NS_DBPEDIA_OWL.MusicalArtist)) g.add((artist, RDFS.label, Literal(s["artist"]))) g.add((artist, NS_DBPPROP.name, Literal(s["artist"]))) song = URIRef(BASE_URI % common.encodeString( u"{0:s} - {1:s}".format(s['artist'], s["title"]))) g.add((song, RDF.type, NS_DBPEDIA_OWL.Song)) g.add((song, RDFS.label, Literal(u"{0:s} - {1:s}".format(s['artist'], s["title"])))) g.add((song, NS_DBPPROP.title, Literal(s["title"]))) g.add((song, NS_DBPEDIA_OWL.artist, artist)) g.add((movie, NS_TUNEFIND.contains, song)) common.write_rdf(RDF_OUT_FILE, g)
def convert_to_rdf(): """ Converts the read data to triples """ print "" print "Convert to RDF..." movies = common.read_json(JSON_OUT_FILE) g = Graph() g.bind("", NS_TUNEFIND) g.bind("dbpedia-owl", NS_DBPEDIA_OWL) g.bind("dbpprop", NS_DBPPROP) for m in movies: movie = URIRef(BASE_URI % common.encodeString(m["title"])) g.add((movie, RDF.type, NS_DBPEDIA_OWL.Film)) g.add((movie, RDFS.label, Literal(m["title"]))) g.add((movie, NS_DBPPROP.title, Literal(m["title"]))) for s in m["soundtrack"]: artist = URIRef(BASE_URI % common.encodeString(s["artist"])) g.add((artist, RDF.type, NS_DBPEDIA_OWL.MusicalArtist)) g.add((artist, RDFS.label, Literal(s["artist"]))) g.add((artist, NS_DBPPROP.name, Literal(s["artist"]))) song = URIRef(BASE_URI % common.encodeString(u"{0:s} - {1:s}".format(s['artist'], s["title"]))) g.add((song, RDF.type, NS_DBPEDIA_OWL.Song)) g.add((song, RDFS.label, Literal(u"{0:s} - {1:s}".format(s['artist'], s["title"])))) g.add((song, NS_DBPPROP.title, Literal(s["title"]))) g.add((song, NS_DBPEDIA_OWL.artist, artist)) g.add((movie, NS_TUNEFIND.contains, song)) common.write_rdf(RDF_OUT_FILE, g)
def convert_to_rdf(): """ Converts the read data to triples """ print "" print "Convert to RDF..." songs = common.read_json(JSON_OUT_FILE) g = Graph() g.bind("", NS_LASTFM) g.bind("dbpedia-owl", NS_DBPEDIA_OWL) g.bind("dbpprop", NS_DBPPROP) for s in songs: if "tags" not in s or len(s["tags"]) < 1: continue artist = URIRef(BASE_URI % common.encodeString(s["artist"])) g.add((artist, RDF.type, NS_DBPEDIA_OWL.MusicalArtist)) g.add((artist, RDFS.label, Literal(s["artist"]))) g.add((artist, NS_DBPPROP.name, Literal(s["artist"]))) song = URIRef(BASE_URI % common.encodeString(u"{0:s} - {1:s}".format( s['artist'], s["title"]))) g.add((song, RDF.type, NS_DBPEDIA_OWL.Song)) g.add((song, RDFS.label, Literal(u"{0:s} - {1:s}".format(s['artist'], s["title"])))) g.add((song, NS_DBPPROP.title, Literal(s["title"]))) g.add((song, NS_DBPEDIA_OWL.artist, artist)) for t in s["tags"]: g.add((song, NS_LASTFM.tagged, Literal(t))) common.write_rdf(RDF_OUT_FILE, g)
def convert_to_rdf(): """ Converts the read data to triples """ print "" print "Convert to RDF..." movies = common.read_json(JSON_OUT_FILE) g = Graph() g.bind("", NS_IMDB) g.bind("dbpedia-owl", NS_DBPEDIA_OWL) g.bind("dbpprop", NS_DBPPROP) for m in movies: if not release_filter(m): continue movie = URIRef(BASE_URI % common.encodeString(m["title"])) g.add((movie, RDF.type, NS_DBPEDIA_OWL.Film)) g.add((movie, RDFS.label, Literal(m["title"]))) g.add((movie, NS_DBPPROP.title, Literal(m["title"]))) g.add((movie, NS_DBPEDIA_OWL.imdbId, Literal(m["imdbID"]))) if "directors" in m: for name in m["directors"]: director = URIRef(BASE_URI % common.encodeString(name)) g.add((director, RDF.type, NS_DBPEDIA_OWL.Person)) g.add((director, RDFS.label, Literal(name))) g.add((director, NS_DBPPROP.name, Literal(name))) g.add((movie, NS_DBPEDIA_OWL.director, director)) if "cast" in m: for cast in m["cast"][:CONVERT_MAX_CAST]: if cast["screen_name"] == "": continue actor = URIRef(BASE_URI % common.encodeString(cast["name"])) g.add((actor, RDF.type, NS_DBPEDIA_OWL.Actor)) g.add((actor, RDFS.label, Literal(cast["name"]))) g.add((actor, NS_DBPPROP.name, Literal(cast["name"]))) character = BNode() g.add((character, RDF.type, NS_IMDB.Character)) g.add((character, RDFS.label, Literal(cast["screen_name"]))) g.add((character, NS_IMDB.actedBy, actor)) g.add((character, NS_IMDB.screenName, Literal(cast["screen_name"]))) g.add((movie, NS_IMDB.cast, character)) if "release_info" in m: for info in m["release_info"]: if "date" not in info: continue if info["country"] not in CONVERT_RELEASE_COUNTRY: continue release = BNode() g.add((release, RDF.type, NS_IMDB.ReleaseCountry)) g.add((release, RDFS.label, Literal(info["country"] if info["event"] == "" else info["country"] + " - " + info["event"]))) g.add((release, NS_DBPEDIA_OWL.publicationDate, Literal(info["date"] + "Z", datatype=XSD.dateTime))) g.add((release, NS_DBPEDIA_OWL.comment, Literal(info["event"]))) g.add((release, NS_DBPEDIA_OWL.country, URIRef("http://dbpedia.org/resource/%s" % common.encodeString(info["country"])))) g.add((movie, NS_IMDB.releasedIn, release)) common.write_rdf(RDF_OUT_FILE, g)
def convert_to_rdf(): """ Converts the read data to triples """ print "" print "Convert to RDF..." movies = common.read_json(JSON_OUT_FILE) g = Graph() g.bind("", NS_IMDB) g.bind("dbpedia-owl", NS_DBPEDIA_OWL) g.bind("dbpprop", NS_DBPPROP) for m in movies: if not release_filter(m): continue movie = URIRef(BASE_URI % common.encodeString(m["title"])) g.add((movie, RDF.type, NS_DBPEDIA_OWL.Film)) g.add((movie, RDFS.label, Literal(m["title"]))) g.add((movie, NS_DBPPROP.title, Literal(m["title"]))) g.add((movie, NS_DBPEDIA_OWL.imdbId, Literal(m["imdbID"]))) if "directors" in m: for name in m["directors"]: director = URIRef(BASE_URI % common.encodeString(name)) g.add((director, RDF.type, NS_DBPEDIA_OWL.Person)) g.add((director, RDFS.label, Literal(name))) g.add((director, NS_DBPPROP.name, Literal(name))) g.add((movie, NS_DBPEDIA_OWL.director, director)) if "cast" in m: for cast in m["cast"][:CONVERT_MAX_CAST]: if cast["screen_name"] == "": continue actor = URIRef(BASE_URI % common.encodeString(cast["name"])) g.add((actor, RDF.type, NS_DBPEDIA_OWL.Actor)) g.add((actor, RDFS.label, Literal(cast["name"]))) g.add((actor, NS_DBPPROP.name, Literal(cast["name"]))) character = BNode() g.add((character, RDF.type, NS_IMDB.Character)) g.add((character, RDFS.label, Literal(cast["screen_name"]))) g.add((character, NS_IMDB.actedBy, actor)) g.add((character, NS_IMDB.screenName, Literal(cast["screen_name"]))) g.add((movie, NS_IMDB.cast, character)) if "release_info" in m: for info in m["release_info"]: if "date" not in info: continue if info["country"] not in CONVERT_RELEASE_COUNTRY: continue release = BNode() g.add((release, RDF.type, NS_IMDB.ReleaseCountry)) g.add( (release, RDFS.label, Literal(info["country"] if info["event"] == "" else info["country"] + " - " + info["event"]))) g.add((release, NS_DBPEDIA_OWL.publicationDate, Literal(info["date"] + "Z", datatype=XSD.dateTime))) g.add( (release, NS_DBPEDIA_OWL.comment, Literal(info["event"]))) g.add((release, NS_DBPEDIA_OWL.country, URIRef("http://dbpedia.org/resource/%s" % common.encodeString(info["country"])))) g.add((movie, NS_IMDB.releasedIn, release)) common.write_rdf(RDF_OUT_FILE, g)