2017-07-27 5 views
0

J'utilise Reality Gem pour interroger Wikidata, en utilisant ce code ci-dessous. Mais cela donne une sortie nulle. Je l'ai vérifié à l'aide commande result.methods mais je Dont't voir une méthode pour afficher « part_of » ou « instance_of » valeurs propriétécomment utiliser Reality Gem pour interroger wikidata pour trouver des propriétés telles que part_of & Instance_of

require 'reality'  
result = Reality::Entity("Enterprise JavaBeans") 
result.part_of 
=> nil 

Cependant la page de Wikidata ces propriétés sont disponibles:

https://www.wikidata.org/wiki/Q742961

Quelqu'un peut-il m'aider s'il vous plaît?

+0

Je en train d'essayer de le faire result.part_of, mais je ne peux pas trouver un moyen de le faire –

+0

je l'ai eu l'aide d'un très vilain hacky ... 'w = Wikidata :: Entity.one_by_id ('Q742961'); e = Reality :: Entity :: WikidataPredicates.parse (w); e [: part_of] ' –

+0

avez-vous tapé cette" Wikidata :: Entity "par erreur ou vous avez réellement utilisé une autre gemme" wikidata "? –

Répondre

1

Je ne sais pas pourquoi cette erreur se produit. Je suppose que c'est parce que les structures de documents sur Wikidata et Wikipedia ne sont pas les mêmes.

Mais vous pouvez vous déplacer avec les éléments suivants aki:

require 'reality' 

w = Reality::Wikidata::Entity.one_by_id('Q742961') 
e = Reality::Entity::WikidataPredicates.parse(w) 
e[:part_of]