I think probably a distinction can be made in terms of whether your use case involves exporting items into other ontologies, versus importing items from other ontologies into wikidata. You'll have different issues with granularity in either direction and they may not be entirely symmetrical, so you might actually have to model it in both directions, difficulties of querying aside.
My use case involves creating wikidata items from citoid https://www.mediawiki.org/wiki/Citoid items, so I have been thinking of modelling the Zotero/Citation Style Language on wikidata as part of using citoid on Wikidata (which uses the Zotero ontology.) Unlike schema.org there's no canonical url pointing to different properties, so I'd actually like to create an item for each Zotero / Citoid property and actually store the entire schema itself on wikidata. (This has the additional use case being able to provide documentation of the properties using reasonator as well!)
I've created an example on test wikidata here: https://test.wikidata.org/wiki/Q173241. Here we have the property publicationTitle, which in citoid/Zotero, has a string value. In wikidata we would want this to point to an item corresponding to the publication so we'd use "published in" property as equivalent. There's also hierarchy modelled here, with websiteTitle being a subclass of publicationTitle: https://test.wikidata.org/wiki/Q173239
This is a different way of modelling it versus adding an equivalent property to the wikidata property a la https://www.wikidata.org/wiki/Property:P356. For my use case, this would be the easiest model for querying the properties. But I share Stas's concern here that this could quickly explode the number of items. How many items called "title" do we need, because "title" is a property in a lot of examples?
You can see in my example I made my property and instance of both a citoid property and a zotero property. They mostly overlap, but there are few citoid properties which are not Zotero properties. CSL properties are even trickier. I think if they have the same exact name string and all other properties and equivalencies they can be put in one item but I don't anticipate that happening much with other less similar ontologies.
Not exactly sure what to use for the name of the property to store the string, i.e. "publicationTitle" either - might have to create a new property for that (I checked, Official Name doesn't take "JSON" as a valid language!)
(The other thing is I've now gone down the rabbit hole of thinking about modelly markup and programming languages. In a JSON object there's a limited number of types (Object, string, array, integer etc), and I've had a go of adding that on test wikidata - but it kind of opens up the idea of actually adding in a full model of a programming language which sounds crazy until you consider that we've done basically that with the addition of lexographical data!)
Cheers, Marielle
On Sun, Sep 23, 2018 at 8:57 PM Stas Malyshev smalyshev@wikimedia.org wrote:
Hi!
That's one way of linking up, but another way is using equivalent property ( https://www.wikidata.org/wiki/Property:P1628 ) and equivalent class ( https://www.wikidata.org/wiki/Property:P1709 ). See for example
It is technically possible to add values for P1628 into RDF export. However, the following questions arise:
- Are we ready to claim these are exact equivalents? Sometimes semantic
meanings differ, and some properties have class requirements - e.g. http://schema.org/illustrator expects value to be of class Person, but of course Wikidata item would not have that class. Same for the subject
- it expected to be of a class Book, but won't be. This may confuse some
systems. Is that ok?
- How we deal with multiple ontologies with the same meanings? E.g.
https://www.wikidata.org/wiki/Property:P21 has 4 equivalent properties. There might be more. Do we want to generate them all? Why there are two properties for the same FOAF ontology - is that right?
- If you change P1628, that does not automatically make all items with
the relevant predicate update. You need to do an extensive update process - which is currently does not exist, and for popular property may require significant resources to complete, some properties have millions of uses.
Using P1709 is even more tricky since Wikidata ontology (provided we call what we have an ontology, which may also not be acceptable to some) is rather different from traditional semantic ontologies, and we do not really enforce any of the rules with regard to classes, property domain/ranges, etc. and have frequent and numerous exceptions to those.
-- Stas Malyshev smalyshev@wikimedia.org
Wikidata mailing list Wikidata@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikidata