Open JeroenDeDauw opened 9 years ago
Not sure "EntityStore" is a good name to begin with here. To me this implies storage and retrieval of entities, while this component is about queries.
This component is mostly focused on storage and retrieval of entities (from their ids or their labels) and has only some simple query capacities. It's why I've chosen MongoDB as storage backend (and not something far more adapted to queries like a graph database).
Perhaps more problematic is the clash of namespaces. The WMDE component uses Wikibase\EntityStore, and so does this one.
Yes, you are right. I should rename the base namespace of this component.
A side question: what is the goal of WMDE WikibaseEntityStore component? I have never really understood what are its use cases.
has only some simple query capacities.
Does this mean it will only support a subset of the Ask language, or do you consider what can be expressed with the Ask language to always be simple?
A side question: what is the goal of WMDE WikibaseEntityStore component? I have never really understood what are its use cases.
The same as this one - storage and retrieval of entities. It's been created as a place where one can put novel storage interfaces that new code can then use, rather than binding to the old clutter. And as a place to where we can gradually move our old storage code. It was created while work on Wikibase Query was being done. It's harder for people to see the use if they only work in Wikibase.git and its dependencies.
Does this mean it will only support a subset of the Ask language, or do you consider what can be expressed with the Ask language to always be simple?
Yes, I consider that what can be expressed with Ask is simple. I do this distinction because the power user's language of the PPP platform supports queries that can't be written with Ask like "(?, birth date, ((United states, president, ?), birth date, ?)))" ("Who is born the same day as the president of the United States ?").
Thank you very much for the answer about WMDE's WikibaseEntityStore.
"WikibaseEntityStore" is already used by WMDE. Having the same name, esp for a project that does something different, is not ideal.
Perhaps more problematic is the clash of namespaces. The WMDE component uses
Wikibase\EntityStore
, and so does this one. Generally you should not use a vendor namespace (ie Wikibase) if you are not that vendor. This was done right by usingppp/wikibase-entity-store
as package name. You can do something similar for the namespace, and go withPPP/WikibaseEntityStore
.Not sure "EntityStore" is a good name to begin with here. To me this implies storage and retrieval of entities, while this component is about queries.