specs
specs copied to clipboard
New schema property rdfProperty
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"
},
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:
- Add
rdfProperty
to Field as proposed here. - 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. - 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.