Мой вопрос: в чем разница между dataset.add() и graph.add() в rdflib для python. Я работал в предположении, что graph.add использовался для свойств типа объекта и dataset.add для свойств типа данных. Однако я не уверен.Разница между graph.add() и dataset.add() в библиотеке RDFLib, python
ответ
- graph.add() добавляет тройной к графу,
- dataset.add() добавляет тройной графа по умолчанию, или четверной к набору данных
Пример из http://rdflib.readthedocs.io [ 1]:
Создать новую Dataset
ds = Dataset()
простых тройки идут по умолчанию граф
ds.add((URIRef('http://example.org/a'),URIRef('http://www.example.org/b'),Literal('foo')))
создать график в наборе данных, если уже используется имя графа, соответствующий граф будет возвращен (т.е. Dataset отслеживает учредительные графиков)
g = ds.graph(URIRef('http://www.example.com/gr'))
добавить троек в новом графе, как обычно
g.add((URIRef('http://example.org/x'),URIRef('http://example.org/y'),Literal('bar')))
альтернативный вариант: добавить четверной к набору данных -> идет к графу
ds.add((URIRef('http://example.org/x'),URIRef('http://example.org/z'),Literal('foo-bar'),g))
Это не имеет ничего общего с ли что-то свойство объекта или свойство типа данных.
[1] http://rdflib.readthedocs.io/en/stable/apidocs/rdflib.html?highlight=dataset#rdflib.graph.Dataset