More Wikidata predicates
Opened this issue · 6 comments
Full list is here: https://github.com/molybdenum-99/reality/blob/master/data/wikidata-predicates.yaml
Add reasonable number of interesting ones.
Code for checking how much of entities uses predicate in web console:
PREFIX wikibase: <http://wikiba.se/ontology#>
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX p: <http://www.wikidata.org/prop/>
PREFIX v: <http://www.wikidata.org/prop/statement/>
SELECT ?id ?idLabel ?o ?oLabel WHERE {
?id wdt:P1884 ?o .
SERVICE wikibase:label {
bd:serviceParam wikibase:language "en" .
}
} limit 100
(replace P1884
with your value).
I was adding some more Wikidata predicates to wikidata.rb but then started to wonder if adding them manually is the correct way. I was simply doing copy-paste from Wikidata pages. Wouldn't it be easier to just automatically fetch all predicates from Wikidata?
My solution currently is to add them manually. There IS automatically extracted list of predicates (data/wikidata-predicates.yaml), but with manuall adding we can:
- decide right name: short, unambiguous and generic enough;
- decide right type (plural/singular, entity or string or number or...);
- group predicates logically (currently only by comments in
wikidata.rb
, but I imagine those comments can some time became some sort of "property groups").
I can see no way to automate this.
Speaking broader, entire Reality is somewhat about hand-craftedness (there's many data available in open datasources, and what we are trying to do is provide easy and pretty access to them).
Aye, I see your point. I believe Wikidata has already done some fighting over the predicate names so I (as non-native English person) was happy to accept whatever they have. Grouping is a good idea but might also be hard to do as predicates can be used in several topics. But you need to start from somewhere so lets do some handcrafting!
I believe Wikidata has already done some fighting over the predicate names so I (as non-native English person) was happy to accept whatever they have.
I'm non-native English myself, but if you look at predicate names in aforementioned file, you can see that many of them are too long ("country of citizenship" or "located in the administrative territorial entity", for example), and/or just hard to type as method name ("ISO 3166-1 alpha-3 code" -- what would the method should been named? "iso_3166_1_alpha_3_code"?). Also, I wanted that predicate name made clear distinction of plurals and singulars (so, I use "parts" instead of "part_of", which is questionable).
All in all, everything here is just definitely "to start from somewhere", I'm still looking forward for a good an consistent policy of property names.
@talakoski I'm finalizing "nearest release" plans till Friday, don't you want to do some pull request? :)
Love to do so but I doubt I have currently time to make it. I see good progress here :)