本文整理汇总了Python中rdflib.graph.Graph.set方法的典型用法代码示例。如果您正苦于以下问题:Python Graph.set方法的具体用法?Python Graph.set怎么用?Python Graph.set使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类rdflib.graph.Graph
的用法示例。
在下文中一共展示了Graph.set方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: create_project
# 需要导入模块: from rdflib.graph import Graph [as 别名]
# 或者: from rdflib.graph.Graph import set [as 别名]
def create_project(g):
"""Creates a project in the database (and the metadata cache) from an input graph"""
print "Here 1"
query = g.query("""SELECT ?uri ?user
WHERE {
?user perm:hasPermissionOver ?uri .
?user rdf:type foaf:Agent .
}""", initNs=ns)
print "Here 2"
for uri in g.subjects(NS.rdf.type, NS.dm.Project):
print "Here 3"
user = g.value(None, NS.perm.hasPermissionOver, uri)
if user:
print "Here 3.1"
user_obj = User.objects.get(username=user.split('/')[-1])
print "Here 3.2"
project_identifier = uris.uri('semantic_store_projects', uri=uri)
print "Here 3.3"
project_g = Graph(store=rdfstore(), identifier=project_identifier)
print "Here 4"
for text_uri in g.subjects(NS.rdf.type, NS.dcmitype.Text):
text_graph = Graph()
text_graph += g.triples((text_uri, None, None))
print "Here 4.1"
if user:
project_texts.update_project_text(text_graph, uri, text_uri, user_obj)
print "Here 5"
for t in g:
project_g.add(t)
for text_uri in g.subjects(NS.rdf.type, NS.dcmitype.Text):
project_g.remove((text_uri, NS.cnt.chars, None))
url = uris.url('semantic_store_projects', uri=uri)
project_g.set((uri, NS.dcterms['created'], Literal(datetime.utcnow())))
print "before user"
if user:
print "user is true"
project_g.remove((user, None, None))
username = user.split("/")[-1]
permissions.grant_full_project_permissions(username, uri)
add_project_types(project_g, uri)
build_project_metadata_graph(uri)
print "Successfully created project with uri " + uri
示例2: prepare
# 需要导入模块: from rdflib.graph import Graph [as 别名]
# 或者: from rdflib.graph.Graph import set [as 别名]
def prepare(self):
logger.info('Building RDF graph')
graph = Graph()
for inc in self.include:
lg0 = len(graph)
graph.load(inc, format=self.extFromFilename(inc))
logger.info(' - Included {} triples from {}'.format(len(graph) - lg0, inc))
try:
scheme_uri = next(graph.triples((None, RDF.type, SKOS.ConceptScheme)))
except StopIteration:
raise Exception('Concept scheme URI could not be found in vocabulary scheme data')
scheme_uri = scheme_uri[0]
now = datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%SZ')
graph.set((URIRef(scheme_uri), DCTERMS.modified, Literal(now, datatype=XSD.dateTime)))
lg0 = len(graph)
for resource in self.vocabulary.resources:
self.convert_resource(graph, resource, self.vocabulary.resources, scheme_uri,
self.vocabulary.default_language.alpha2)
logger.info(' - Added {} triples'.format(len(graph) - lg0))
all_concepts = set([tr[0] for tr in graph.triples((None, RDF.type, SKOS.Concept))])
for inc in self.mappings_from:
lg0 = len(graph)
mappings = self.load_mappings(inc)
for tr in mappings.triples((None, None, None)):
if tr[0] in all_concepts:
graph.add(tr)
logger.info(' - Added {} mappings from {}'.format(len(graph) - lg0, inc))
logger.info('Skosify...')
self.skosify_process(graph)
return {'graph': graph}
示例3: update_project_text
# 需要导入模块: from rdflib.graph import Graph [as 别名]
# 或者: from rdflib.graph.Graph import set [as 别名]
def update_project_text(g, p_uri, t_uri, user):
logger.debug("************* Updating project")
# Correctly format project uri and get project graph
project_uri = uris.uri('semantic_store_projects', uri=p_uri)
logger.debug("!!!!!!!!!!!!!! Here 1")
project_g = Graph(rdfstore(), identifier=project_uri)
logger.debug("!!!!!!!!!!!!!! Here 2")
project_metadata_g = Graph(rdfstore(), identifier=uris.project_metadata_graph_identifier(p_uri))
logger.debug("!!!!!!!!!!!!!! Here 3")
text_uri = URIRef(t_uri)
logger.debug("!!!!!!!!!!!!!! Here 4")
title = g.value(text_uri, NS.dc.title) or g.value(text_uri, NS.rdfs.label) or Literal("")
logger.debug("!!!!!!!!!!!!!! Here 5")
content_value = g.value(text_uri, NS.cnt.chars)
logger.debug("!!!!!!!!!!!!!! Here 6")
logger.debug("g: %s", g)
logger.debug("g.value: %s", g.value)
logger.debug("text_uri: %s", text_uri)
logger.debug("NS.cnt.chars: %s", NS.cnt.chars)
logger.debug("content_value: %s", content_value)
if content_value:
content = sanitized_content(content_value)
logger.debug("!!!!!!!!!!!!!! Here 6.1")
else:
content = ''
logger.debug("!!!!!!!!!!!!!! Here 6.2")
with transaction.commit_on_success():
logger.debug("!!!!!!!!!!!!!! Here 7")
for t in Text.objects.filter(identifier=t_uri, valid=True):
logger.debug("!!!!!!!!!!!!!! Here 8")
t.valid = False
logger.debug("!!!!!!!!!!!!!! Here 9")
t.save()
logger.debug("!!!!!!!!!!!!!! Here 10")
# While it looks like this would be better with a QuerySet update, we need to fire the save
# events to keep the search index up to date. In all forseeable cases, this should only execute
# for one Text object anyway.
text = Text.objects.create(identifier=t_uri, title=title, content=content, last_user=user, project=p_uri)
logger.debug("!!!!!!!!!!!!!! Here 11")
project_g.add((text_uri, NS.rdf.type, NS.dctypes.Text))
logger.debug("!!!!!!!!!!!!!! Here 12")
project_g.set((text_uri, NS.dc.title, title))
logger.debug("!!!!!!!!!!!!!! Here 13")
project_g.set((text_uri, NS.rdfs.label, title))
logger.debug("!!!!!!!!!!!!!! Here 14")
text_url = URIRef(uris.url('semantic_store_project_texts', project_uri=p_uri, text_uri=text_uri))
logger.debug("!!!!!!!!!!!!!! Here 15")
project_g.set((text_uri, NS.ore.isDescribedBy, text_url))
logger.debug("!!!!!!!!!!!!!! Here 16")
if (URIRef(p_uri), NS.ore.aggregates, text_uri) in project_metadata_g:
logger.debug("!!!!!!!!!!!!!! Here 16.1")
project_metadata_g.add((text_uri, NS.rdf.type, NS.dctypes.Text))
logger.debug("!!!!!!!!!!!!!! Here 16.2")
project_metadata_g.set((text_uri, NS.dc.title, title))
logger.debug("!!!!!!!!!!!!!! Here 16.3")
project_metadata_g.set((text_uri, NS.rdfs.label, title))
logger.debug("!!!!!!!!!!!!!! Here 16.4")
logger.debug("!!!!!!!!!!!!!! Here 17")
specific_resource_triples = specific_resources_subgraph(g, text_uri, p_uri)
logger.debug("!!!!!!!!!!!!!! Here 18")
for t in specific_resource_triples:
logger.debug("!!!!!!!!!!!!!! Here 19")
project_g.add(t)
for t in g.triples((None, NS.rdf.type, NS.oa.TextQuoteSelector)):
logger.debug("!!!!!!!!!!!!!! Here 20")
project_g.set(t)