def run(self, input_graph, rdf_classes=[]):
"""Takes a graph and deduplicates various RDF classes
Args:
-----
graph: rdflib.Graph or rdflib.ConjunctiveGraph
rdf_classes: list of RDF Classes to use in filtering
IRIs
"""
self.output = input_graph
if rdf_classes is None:
rdf_classes = []
all_classes = self.default_classes + rdf_classes
for class_ in all_classes:
for entity in self.output.subjects(
predicate=rdflib.RDF.type,
object=class_):
label = self.output.value(subject=entity,
predicate=rdflib.RDFS.label)
if label is not None:
self.__get_or_mint__(entity, class_, label)
value = self.output.value(subject=entity,
predicate=rdflib.RDF.value)
if value is not None:
self.__get_or_mint__(entity, class_, value)
评论列表
文章目录