Add facets to support more detailed definitions of the sport played
riannella opened this issue · 7 comments
Hi, how do you assert the actual sport being played?
For example, in this Football example: https://sportschema.org/examples/soccer/
How do I know the sport is "football" (yes, I know it is called "soccer" in a few countries :-)
That's what
sport:sport medtop:20001065 .
is saying. It refers to our Media Topics vocabulary https://cv.iptc.org/newscodes/mediatopic
If I wanted to be more specific, like "women's football" ?
We don't currently have a way to do that.
Maybe we could revive the Sports Facets work that we did a while ago but never really caught on... Here's some documentation about it: https://iptc.org/std/NewsCodes/guidelines/#_using_media_topics_and_facets_in_your_content
So we could do something like
@prefix sport: <https://sportschema.org/ontologies/main/> .
@prefix medtop: <http://cv.iptc.org/newscodes/mediatopic/> .
@prefix aspfacet: <http://cv.iptc.org/newscodes/asportfacet/> .
@prefix aspfacetvalue: <http://cv.iptc.org/newscodes/asportfacetvalue/> .
<Competition> sport:sport medtop:20001065 ; # Media Topics value for soccer
sport:hasfacet aspfacet:gender ; # Note: sport:hasfacet property does not yet exist
sport:facetvalue aspfacetvalue:women . # Note: sport:facetvalue property does not yet exist
Yes, I think that might be a good idea
Hmm I was implementing this and it made me think, don't we sometimes want to have more than one facet / facetvalue pair?
Also some facet values are unconstrained strings... eg "distance"
eg for Paralympic Womens 400m T11:
<CompABC123> a sport:Competition ;
sport:sport medtop:20000827 ; # Athletics (en-GB) / Track & Field (en-US)
sport:hasfacet aspfacet:distance ;
sport:hasfacetvalue "400m" ;
sport:hasfacet asportfacet:gender ;
sport:hasfacetvalue aspfacetvalue:women ;
sport:hasfacet aspfacet:parasporttype ;
sport:hasfacetvalue "T11" .
This obviously won't work as a pile of triples, it needs to be some kind of array or multi-valued object...
So should we do something like:
<CompABC123> a sport:Competition ;
sport:sport medtop:20000827 ; # Athletics (en-GB) / Track & Field (en-US)
sport:facetpair [
sport:hasfacet aspfacet:distance ;
sport:hasfacetstringvalue "400m" ; # different property to handle string values? ugh
] ;
sport:facetpair [
sport:hasfacet asportfacet:gender ;
sport:hasfacetvalue aspfacetvalue:women ;
] ;
sport:facetpair [
sport:hasfacet aspfacet:parasporttype ;
sport:hasfacetstringvalue "T11" . # different property to handle string values? ugh
] .
I know the RDF police won't like the blank nodes here (nods to @silveroliver and Paul Wilton :-) ) so should we create an object called FacetPair ?? Seems like a lot of work to add a facet. Maybe
It gets even trickier for things like "women's discus throw F55", I think we need a new facet "aspfacet:athleticstype" which doesn't currently exist: it would include discus, shot-put, hammer throw etc. (Maybe OpenTrack has a CV for athletics types that we could use / borrow?)
My view of this approach is that it moves away from the ontological model to a structured model, and hence, you loose all the benefits of an ontology.
What its wrong with defining and using (real) properties?
such as sport:gender
and sport:paracategory
That makes a lot of sense - thanks for pointing this out! It seems obvious now.
How about we take the list of facets in https://cv.iptc.org/newscodes/asportfacet/ and we turn them into actual properties, in the same way that we have done with some of the sports stats vocabs?
I'll try that approach in the PR branch and we can see how it works.