예제 #1
0
def hypernyms_of_article_from_db(article, limit=sys.maxint):
    """
    Given a case-sensitive article title, return all hypernyms of
    that article (as a list of strings) from DBpedia's Ontology
    Classes.
    """
    result = (DbpediaClass.select().join(Hypernym).join(
        ArticleClass,
        on=Hypernym.c_id).join(Article, on=ArticleClass.a_id).where(
            Article.title == article, ).limit(limit))
    return [from_dbpedia_class(x.dbpedia_class) for x in result]
예제 #2
0
def hypernyms_of_class_from_db(w_class, limit=sys.maxint):
    """
    Given a wikipedia class, return a list of hypernyms (as a list of strings)
    from DBpedia's Ontology Classes.

    Deprecated: uses the database, resulting in slow, unordered
    results. Use hypernyms_of_class() instead.
    """

    w_class = to_wikipedia_class(w_class)
    result = (DbpediaClass.select().join(Hypernym).join(WikiClass).where(
        WikiClass.class_name == w_class).limit(limit))
    return [from_dbpedia_class(x.dbpedia_class) for x in result]