def extract_pull_stagements(subject, pull):
    return mapMaybeObjectStatements([ 
        (subject, rdf.type, Maybe.ret(feature.PullRequest)),
        (subject, rdfs.label, get_nested(Maybe, pull, "title").bind(maybeLiteral)),
        (subject, github.review_comments, get_nested(Maybe, pull, "_links", "review_comments", "href").bind(maybeURIRef)),
        (subject, schema.dateCreated, get_nested(Maybe, pull, "created_at").bind(maybeDateTimeLiteral)),
        (subject, github.merge_commit_sha, get_nested(Maybe, pull, "merge_commit_sha").bind(maybeLiteral)),
    ])
def map_build_status_comment(stageClass, pull_uri, comment):
    if 'url' in comment:
        subject = URIRef(comment['url'])
        return mapMaybeObjectStatements([
            (pull_uri, feature.stage, Maybe.ret(subject)),
            (subject, rdf.type, Maybe.ret(stageClass)),
            (subject, rdf.type, Maybe.ret(feature.FeatureStage)),
            (subject, schema.dateCreated, get_nested(Maybe, comment, 'created_at').bind(maybeDateTimeLiteral)),
        ])
    else:
        return []