Proposal: removing unnecessary attribute naming context
Personally I find the property names of the owl:time
and om:measure
generic record attributes to be unnecessarily verbose and "weird sounding" in the context of a GraphQL query API.
One of the key properties of GraphQL as an abstraction is an extremely robust, declarative binding between a UI element and a particular API structure. The conceptual model is that "the API" is a logically singular, distinct entity which has complete and total control over the data structures that it chooses to represent. As such, namespacing is generally considered "server-universal"— that is, every GraphQL schema is considered a unique and independent address space in of itself. They are not considered to be composed of multiple address spaces and schemas as with semantic web linked datasets.
So, I would advocate that the "has
" prefix be stripped from hasPointInTime
, hasBeginning
, hasEnd
, hasNumericalValue
& hasUnit
. The reality is that an attribute mapping will be necessary in all translations from the GraphQL data model to the RDF data model anyway, because EconomicEvent
actually maps to vf:EconomicEvent
etc.
Thoughts?