当前位置: 首页>>代码示例>>Python>>正文


Python Graph.__contains__方法代码示例

本文整理汇总了Python中rdflib.Graph.__contains__方法的典型用法代码示例。如果您正苦于以下问题:Python Graph.__contains__方法的具体用法?Python Graph.__contains__怎么用?Python Graph.__contains__使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在rdflib.Graph的用法示例。


在下文中一共展示了Graph.__contains__方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: MeraRdflibGraph

# 需要导入模块: from rdflib import Graph [as 别名]
# 或者: from rdflib.Graph import __contains__ [as 别名]
class MeraRdflibGraph(MeraGraphInterface):
    def __init__(self, rdflib_graph=None):
        self._graph = rdflib_graph
        if rdflib_graph is None:
            self._graph = Graph()

        bind_namespaces(self._graph)


    def __contains__(self, triple):
        return triple in self._graph

    def add_triple(self, triple):
        if triple[0] is None or triple[1] is None or triple[2] is None:
            print triple
        self._graph.add(triple)

    def already_exist_in_graph(self, uri):
        return self._graph.__contains__((uri, None, None))

    def serialize(self, out_format='turtle'):
        return self._graph.serialize(format=out_format)


    def get_artist_of_unknown_type_by_uri(self, uri):
        rows_canonical = self._graph.query(Queries.find_canonical_compiled(uri))
        canonical_tuple = MeraRdflibGraph._get_double_rows_simple_result(rows_canonical)
        if canonical_tuple is None:
            return None

        rows_aliases = self._graph.query(Queries.find_aliases_compiled(uri))
        rows_namevars = self._graph.query(Queries.find_namevars_compiled(uri))
        rows_country = self._graph.query(Queries.find_country_compiled(uri))
        rows_civil = self._graph.query(Queries.find_civil_compiled(uri))

        if rows_civil is not None:  # It is an ArtistPerson
            return MeraArtistPerson(labelled_canonical=canonical_tuple,
                                    labelled_aliases=MeraRdflibGraph._get_double_rows_multiple_result(rows_aliases),
                                    labelled_namevars=MeraRdflibGraph._get_double_rows_multiple_result(rows_namevars),
                                    labelled_country=MeraRdflibGraph._get_double_rows_simple_result(rows_country),
                                    labelled_civil=MeraRdflibGraph._get_double_rows_simple_result(rows_civil))
        rows_members = self._graph.query(Queries.find_members_uri_compiled(uri))
        if rows_members is None:  # It has not members, so it hasn't group properties
            return MeraArtist(labelled_canonical=canonical_tuple,
                              labelled_aliases=MeraRdflibGraph._get_double_rows_multiple_result(rows_aliases),
                              labelled_namevars=MeraRdflibGraph._get_double_rows_multiple_result(rows_namevars),
                              labelled_country=MeraRdflibGraph._get_double_rows_simple_result(rows_country))
        # By elimination, it is a group
        object_members = None
        uri_members = MeraRdflibGraph._get_single_rows_multiple_result(rows_members)
        if uri_members is not None:
            object_members = [self.get_artist_person_by_uri(person) for person in uri_members]

        return MeraArtistGroup(labelled_canonical=canonical_tuple,
                               labelled_aliases=MeraRdflibGraph._get_double_rows_multiple_result(rows_aliases),
                               labelled_namevars=MeraRdflibGraph._get_double_rows_multiple_result(rows_namevars),
                               labelled_country=MeraRdflibGraph._get_double_rows_simple_result(rows_country),
                               members=object_members)


    def get_artist_by_uri(self, uri):
        rows_canonical = self._graph.query(Queries.find_canonical_compiled(uri))
        canonical_tuple = MeraRdflibGraph._get_double_rows_simple_result(rows_canonical)
        if canonical_tuple is None:
            return None

        rows_aliases = self._graph.query(Queries.find_aliases_compiled(uri))
        rows_namevars = self._graph.query(Queries.find_namevars_compiled(uri))
        rows_country = self._graph.query(Queries.find_country_compiled(uri))

        return MeraArtist(labelled_canonical=canonical_tuple,
                          labelled_aliases=MeraRdflibGraph._get_double_rows_multiple_result(rows_aliases),
                          labelled_namevars=MeraRdflibGraph._get_double_rows_multiple_result(rows_namevars),
                          labelled_country=MeraRdflibGraph._get_double_rows_simple_result(rows_country))


    def get_artist_person_by_uri(self, uri):
        rows_canonical = self._graph.query(Queries.find_canonical_compiled(uri))
        canonical_tuple = MeraRdflibGraph._get_double_rows_simple_result(rows_canonical)
        if canonical_tuple is None:
            return None

        rows_aliases = self._graph.query(Queries.find_aliases_compiled(uri))
        rows_namevars = self._graph.query(Queries.find_namevars_compiled(uri))
        rows_country = self._graph.query(Queries.find_country_compiled(uri))
        rows_civil = self._graph.query(Queries.find_civil_compiled(uri))

        return MeraArtistPerson(labelled_canonical=canonical_tuple,
                                labelled_aliases=MeraRdflibGraph._get_double_rows_multiple_result(rows_aliases),
                                labelled_namevars=MeraRdflibGraph._get_double_rows_multiple_result(rows_namevars),
                                labelled_country=MeraRdflibGraph._get_double_rows_simple_result(rows_country),
                                labelled_civil=MeraRdflibGraph._get_double_rows_simple_result(rows_civil))


    def get_artist_group_by_uri(self, uri):
        rows_canonical = self._graph.query(Queries.find_canonical_compiled(uri))
        canonical_tuple = MeraRdflibGraph._get_double_rows_simple_result(rows_canonical)
        if canonical_tuple is None:
            return None

#.........这里部分代码省略.........
开发者ID:DaniFdezAlvarez,项目名称:wMERA,代码行数:103,代码来源:mera_rdflib_graph.py


注:本文中的rdflib.Graph.__contains__方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。