python开发mbus程序_Python rdflib 模块,Namespace() 实例源码 - 编程字典

def _frament_fill_meta(self, tpq, fragment, last_result, total_nb_triples, nb_triple_per_page, request, tpf_url):

meta_graph = self._tpf_uri(tpf_url, 'metadata')

fragment.add_graph(meta_graph)

dataset_base = self._tpf_uri(tpf_url)

source = URIRef(request.build_absolute_uri())

dataset_template = Literal('%s%s' % (dataset_base, '{?subject,predicate,object}'))

data_graph = self._tpf_uri(tpf_url, 'dataset')

tp_node = BNode('triplePattern')

subject_node = BNode('subject')

predicate_node = BNode('predicate')

object_node = BNode('object')

HYDRA = Namespace("http://www.w3.org/ns/hydra/core#")

VOID = Namespace("http://rdfs.org/ns/void#")

FOAF = Namespace("http://xmlns.com/foaf/0.1/")

DCTERMS = Namespace("http://purl.org/dc/terms/")

fragment.add_meta_quad(meta_graph, FOAF['primaryTopic'], dataset_base, meta_graph)

fragment.add_meta_quad(data_graph, HYDRA['member'], data_graph, meta_graph)

fragment.add_meta_quad(data_graph, RDF.type, VOID['Dataset'], meta_graph)

fragment.add_meta_quad(data_graph, RDF.type, HYDRA['Collection'], meta_graph)

fragment.add_meta_quad(data_graph, VOID['subset'], source, meta_graph)

fragment.add_meta_quad(data_graph, VOID['uriLookupEndpoint'], dataset_template, meta_graph)

fragment.add_meta_quad(data_graph, HYDRA['search'], tp_node, meta_graph)

fragment.add_meta_quad(tp_node, HYDRA['template'], dataset_template, meta_graph)

fragment.add_meta_quad(tp_node, HYDRA['variableRepresentation'], HYDRA['ExplicitRepresentation'], meta_graph)

fragment.add_meta_quad(tp_node, HYDRA['mapping'], subject_node, meta_graph)

fragment.add_meta_quad(tp_node, HYDRA['mapping'], predicate_node, meta_graph)

fragment.add_meta_quad(tp_node, HYDRA['mapping'], object_node, meta_graph)

fragment.add_meta_quad(subject_node, HYDRA['variable'], Literal("subject"), meta_graph)

fragment.add_meta_quad(subject_node, HYDRA['property'], RDF.subject, meta_graph)

fragment.add_meta_quad(predicate_node, HYDRA['variable'], Literal("predicate"), meta_graph)

fragment.add_meta_quad(predicate_node, HYDRA['property'], RDF.predicate, meta_graph)

fragment.add_meta_quad(object_node, HYDRA['variable'], Literal("object"), meta_graph)

fragment.add_meta_quad(object_node, HYDRA['property'], RDF.object, meta_graph)

fragment.add_meta_quad(dataset_base, VOID['subset'], source, meta_graph)

fragment.add_meta_quad(source, RDF.type, HYDRA['PartialCollectionView'], meta_graph)

fragment.add_meta_quad(source, DCTERMS['title'], Literal("TPF Github search API v3"), meta_graph)

fragment.add_meta_quad(source, DCTERMS['description'], Literal("Triple Pattern from the github repo api v3 matching the pattern {?s=%s, ?p=%s, ?o=%s}" % (tpq.subject, tpq.predicate, tpq.obj)), meta_graph)

fragment.add_meta_quad(source, DCTERMS['source'], data_graph, meta_graph)

fragment.add_meta_quad(source, HYDRA['totalItems'], Literal(total_nb_triples, datatype=XSD.int), meta_graph)

fragment.add_meta_quad(source, VOID['triples'], Literal(total_nb_triples, datatype=XSD.int), meta_graph)

fragment.add_meta_quad(source, HYDRA['itemsPerPage'], Literal(nb_triple_per_page, datatype=XSD.int), meta_graph)

fragment.add_meta_quad(source, HYDRA['first'], self._tpf_url(dataset_base, 1, tpq.subject, tpq.predicate, tpq.obj), meta_graph)

if tpq.page > 1:

fragment.add_meta_quad(source, HYDRA['previous'], self._tpf_url(dataset_base, tpq.page - 1, tpq.subject, tpq.predicate, tpq.obj), meta_graph)

if not last_result:

fragment.add_meta_quad(source, HYDRA['next'], self._tpf_url(dataset_base, tpq.page + 1, tpq.subject, tpq.predicate, tpq.obj), meta_graph)

fragment.add_prefix('twittertpf', Namespace("%s#" % tpf_url[:-1]))

fragment.add_prefix('void', VOID)

fragment.add_prefix('foaf', FOAF)

fragment.add_prefix('hydra', HYDRA)

fragment.add_prefix('purl', Namespace('http://purl.org/dc/terms/'))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值