def serialize(self): self.mi.add(self.subject) graph = mopy.exportRDFGraph(self.mi) # add the non-mopy stuff for triple in self.non_mopy_graph: graph.add(triple) self.graph = graph return graph.serialize()
def test_get_friends(self): self.M.get_friends_non_artist() self.M.serialize() graph = mopy.exportRDFGraph(self.M.mi) friends = [] for row in graph.query('''SELECT ?friends WHERE { ?s <http://purl.org/ontology/myspace#topFriend> ?friends } '''): friend = '%s' % row friends.append(friend) assert len(friends)>4 , 'too few friends found - some kind of problem in .get_friends_non_artist()'
def test_get_songs(self): # do the song getting M = MyspaceScrape(uid=self.uid_artist) M.get_page() M.get_uid() M.is_artist() M.get_songs() # verify rdf w/ sparql graph = mopy.exportRDFGraph(M.mi) #print graph.serialize() titles =[] for row in graph.query('''SELECT ?titles WHERE { ?track a <http://purl.org/ontology/mo/Track> . ?track <http://purl.org/dc/elements/1.1/title> ?titles . } '''): #print row title = '%s' % row titles.append(title) titles.sort() assert titles==[u'A Big Idea short mix', u'Blue92', u'Just to Get a Remix', u'Know What You Want feat Albie', u'Out of mi head feat Raquelle', u'Time addicted to junk mix'], 'wrong set of titles: '+str(titles)
def test_get_stats_non_artist(self): self.M.get_stats_non_artist() self.M.serialize() graph = mopy.exportRDFGraph(self.M.mi) for row in graph.query('''SELECT ?age where { ?x <http://purl.org/ontology/myspace#age> ?age } '''): age = row[0] print age assert int(age)>98, 'wrong age ' + str(age) for row in graph.query('''SELECT ?gender where { ?x <http://xmlns.com/foaf/0.1/gender> ?gender . } '''): gender = row[0] assert gender == 'male' , 'wrong gender '+ str(gender) for row in graph.query('''SELECT ?loc ?reg ?co where { ?x <http://purl.org/ontology/myspace#locality> ?loc . ?x <http://purl.org/ontology/myspace#region> ?reg . ?x <http://purl.org/ontology/myspace#country> ?co . } '''): loc = row[0] #print loc reg=row[1] #print reg co = row[2] #print co assert loc == 'SAINT LOUIS' , 'wrong locality '+str(loc) assert reg == 'Missouri' , 'wrong region '+str(reg) assert co == 'US' , 'wrong country '+str(co) for row in graph.query('SELECT ?totf where { ?x <http://purl.org/ontology/myspace#totalFriends> ?totf } '): totf = row[0] assert int(totf)>2000 , 'wrong number of friends '+str(totf)