specs icon indicating copy to clipboard operation
specs copied to clipboard

New schema property rdfProperty

Open jze opened this issue 2 years ago • 1 comments

In addition to the property rdfType, which specifies the type of the referenced item, I suggest defining a new property rdfProperty, which specifies the meaning of the field:

For example you could define a field like this

       {
        "type": "number",
        "name": "latitude",
        "rdfProperty": "https://schema.org/latitude"
      },

jze avatar Sep 19 '22 12:09 jze

It's not even clear to me how the current implementation of rdfType as a property of a Field can possibly be used effectively. The notion of a field of a schema indicating a class is completely illogical. Look at the example in the documentation:

    {
      fields: [
        {
          "name": "Country",
          "type": "string",
          "rdfType": "http://schema.org/Country"
        }
        ...
      }
    }

What does this even mean? What content will appear in this field? The country's URI? It's name? Two-letter code? Populating this property is pointless without indicating how the content will refer to the type.

I recommend the following:

  1. Add rdfProperty to Field as proposed here.
  2. Add rdfType to Table Schema, where it actually makes sense because one can say that a row of this table is an instance of the specified type.
  3. While I wish I could recommend deprecating rdfType from Field completely, it probably should be left for convenience because resolving the domain of an RDF Property can be a nuisance and we can't even guarantee that it will be present at all.

jyutzler avatar Feb 20 '24 04:02 jyutzler