コード例 #1
0
ファイル: idea.py プロジェクト: rmoorman/assembl
 def special_quad_patterns(cls, alias_maker, discussion_id):
     idea_link = alias_maker.alias_from_class(cls)
     target_alias = alias_maker.alias_from_relns(cls.target)
     source_alias = alias_maker.alias_from_relns(cls.source)
     # Assume tombstone status of target is similar to source, for now.
     conditions = [(idea_link.target_id == target_alias.id),
                   (target_alias.tombstone_date == None)]
     if discussion_id:
         conditions.append((target_alias.discussion_id == discussion_id))
     return [
         QuadMapPatternS(
             Idea.iri_class().apply(idea_link.source_id),
             IDEA.includes,
             Idea.iri_class().apply(idea_link.target_id),
             conditions=conditions,
             name=QUADNAMES.idea_inclusion_reln),
         QuadMapPatternS(
             cls.iri_class().apply(idea_link.id),
             IDEA.source_idea,  # Note that RDF is inverted
             Idea.iri_class().apply(idea_link.target_id),
             conditions=conditions,
             name=QUADNAMES.col_pattern_IdeaLink_target_id
             #exclude_base_condition=True
             ),
         QuadMapPatternS(
             cls.iri_class().apply(idea_link.id),
             IDEA.target_idea,
             Idea.iri_class().apply(idea_link.source_id),
             name=QUADNAMES.col_pattern_IdeaLink_source_id
             ),
         QuadMapPatternS(
             None, RDF.type, IriClass(VirtRDF.QNAME_ID).apply(IdeaLink.rdf_type),
             name=QUADNAMES.class_IdeaLink_class),
     ]
コード例 #2
0
 def special_quad_patterns(cls, alias_maker, discussion_id):
     return [
         QuadMapPatternS(None,
                         RDF.type,
                         IriClass(VirtRDF.QNAME_ID_SUFFIX).apply(
                             Action.type),
                         name=QUADNAMES.class_ActionOnIdea_class)
     ]
コード例 #3
0
ファイル: idea.py プロジェクト: rmoorman/assembl
 def special_quad_patterns(cls, alias_maker, discussion_id):
     discussion_alias = alias_maker.get_reln_alias(cls.discussion)
     return [
         QuadMapPatternS(
             None, RDF.type,
             IriClass(VirtRDF.QNAME_ID).apply(Idea.rdf_type),
             name=QUADNAMES.class_Idea_class),
         QuadMapPatternS(
             None, FOAF.homepage,
             PatternIriClass(
                 QUADNAMES.idea_external_link_iri,
                 # TODO: Use discussion.get_base_url.
                 # This should be computed outside the DB.
                 get_global_base_url() + '/%s/idea/local:Idea/%d', None,
                 ('slug', Unicode, False), ('id', Integer, False)).apply(
                 discussion_alias.slug, cls.id),
             name=QUADNAMES.idea_external_link_map)
     ]