python – 在rdflib中使用上下文

前端之家收集整理的这篇文章主要介绍了python – 在rdflib中使用上下文前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我很难找到一个明确,明智的rdflib使用上下文的例子.
ConjunctiveGraph不接受上下文,并且不推荐使用Graph.我应该如何在同一个全局ConjunctiveGraph中的不同上下文中创建和操作?

解决方法

是.这是代码
  1. import rdflib
  2. from rdflib.Graph import Graph
  3.  
  4. conj=rdflib.ConjunctiveGraph()
  5.  
  6. NS=rdflib.Namespace("http://example.com/#")
  7. NS_CTX=rdflib.Namespace("http://example.com/context/#")
  8.  
  9. alice=NS.alice
  10. bob=NS.bob
  11. charlie=NS.charlie
  12.  
  13. pizza=NS.pizza
  14. meat=NS.meat
  15. chocolate=NS.chocolate
  16.  
  17. loves=NS.loves
  18. hates=NS.hates
  19. likes=NS.likes
  20. dislikes=NS.dislikes
  21.  
  22. love_ctx=Graph(conj.store,NS_CTX.love)
  23. food_ctx=Graph(conj.store,NS_CTX.food)
  24.  
  25. love_ctx.add( (alice,loves,bob) )
  26. love_ctx.add( (alice,charlie) )
  27. love_ctx.add( (bob,hates,charlie) )
  28. love_ctx.add( (charlie,bob) )
  29.  
  30. food_ctx.add( (alice,likes,chocolate) )
  31. food_ctx.add( (alice,meat) )
  32. food_ctx.add( (alice,dislikes,pizza) )
  33.  
  34. print "Full context"
  35. for t in conj:
  36. print t
  37.  
  38. print ""
  39. print "Contexts"
  40. for c in conj.contexts():
  41. print c
  42.  
  43. print "love context"
  44. for t in love_ctx:
  45. print t
  46.  
  47. print "food context"
  48. for t in food_ctx:
  49. print t

这是输出

  1. Full context
  2. (rdflib.URIRef('http://example.com/#bob'),rdflib.URIRef('http://example.com/#hates'),rdflib.URIRef('http://example.com/#charlie'))
  3. (rdflib.URIRef('http://example.com/#alice'),rdflib.URIRef('http://example.com/#likes'),rdflib.URIRef('http://example.com/#chocolate'))
  4. (rdflib.URIRef('http://example.com/#alice'),rdflib.URIRef('http://example.com/#meat'))
  5. (rdflib.URIRef('http://example.com/#alice'),rdflib.URIRef('http://example.com/#dislikes'),rdflib.URIRef('http://example.com/#pizza'))
  6. (rdflib.URIRef('http://example.com/#alice'),rdflib.URIRef('http://example.com/#loves'),rdflib.URIRef('http://example.com/#bob'))
  7. (rdflib.URIRef('http://example.com/#alice'),rdflib.URIRef('http://example.com/#charlie'))
  8. (rdflib.URIRef('http://example.com/#charlie'),rdflib.URIRef('http://example.com/#bob'))
  9.  
  10. Contexts
  11. <http://example.com/context/#food> a rdfg:Graph;rdflib:storage [a rdflib:Store;rdfs:label 'IOMemory'].
  12. <http://example.com/context/#love> a rdfg:Graph;rdflib:storage [a rdflib:Store;rdfs:label 'IOMemory'].
  13. love context
  14. (rdflib.URIRef('http://example.com/#bob'),rdflib.URIRef('http://example.com/#bob'))
  15. food context
  16. (rdflib.URIRef('http://example.com/#alice'),rdflib.URIRef('http://example.com/#pizza'))

猜你在找的Python相关文章