-
Notifications
You must be signed in to change notification settings - Fork 9
Remove support for the Vocabulary Registry, contextual propertyURI and mulitpleValues. #10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
It would be good to know whether, indeed, nobody else uses this conversion spec other than schema.org. I am not sure that is exactly the case; I think people may use it as a test conversion for RDF, hoping that schema.org does the same. So... do we have any information on how exactly schema.org converts to RDF? Does it use this spec? Ivan
Ivan Herman, W3C |
@danbri has said that the like that there is a spec for transforming Microdata to RDF, but don't feel bound by it. In particular, they do nothing with the Registry, and aren't concerned with corner-cases of processing where I suggest we simply put in the text a call for review of this direction. I'm not aware of any use of Microdata to RDF outside of the public-vocabs discussions, but something may come out of the wood-work. Note that all vocabularies defined in the current Registry use only the vocabulary form. The loss of ordered values, is IMO inconsequential at this point. The current note was intended specifically to inform some future group, which looks like it may never arise, so I think now is the time to clarify these issues and set the direction based on actual use by the community. |
…gistry, and there for having no _contextual_ or _multipleValues_ options and no creation of RDF Collections.
Because of |
Can't you just treat it as an ordinary property?
|
…quivalentProperty and subPropertyOf (which were missing before). This still removes multipleValues and propertyURI support. Issue #10.
We added vocabulary-expansion to generate the following:
if it is encountered. We also added a small about of entailment (from RDFa), so that if you have, eg, the following: You get out the following: [ a schema:Person, foaf:Person; This was done in the published Note. Of course, we could remove that, but then it wouldn't really do what people expect. Gregg
|
On 4 November 2014 17:30, Gregg Kellogg [email protected] wrote:
I recommend removing it. I can add the subproperty assertion into the There is much more to be gained from the RDF mapping being super-simple and |
Given that it's in the RDFS for schema.org, then it can certainly be removed. This would leave generating the rdfa:usesVocabulary triple generated from the value of |
On 4 November 2014 18:20, Gregg Kellogg [email protected] wrote:
Oh I hate those usesVocabulary triples! If a vocabulary is even slightly My main concern is that we move away from injecting type names into the Dan |
…his is handled by emitting `rdfa:usesVocabulary` statements and performing Vocabulary Entailment. Issue #10.
I don't know how to get rid of the Otherwise, I think your concerns are addressed with the existing text.
The Contextual was an odd case that seemed relevant at the time, where there would be an element having |
Turning Microdata into full RDFa isn't a goal. All we need are the triples On 4 November 2014 19:04, Gregg Kellogg [email protected] wrote:
|
The vocabulary expansion step was added two years ago after additionalType was added after a number of discussions from around July 2012 privately, mostly @danbri @iherman and me. The thought was that the mechanism was really outside Microdata, and there were existing implementations that made this fairly simple in the RDF domain. I think it's quite useful that parsers consuming Perhaps, if the schema.org blog simply created a note describing such an extension for Microdata implementations from the Microdata to RDF spec, we could simply remove it, and trust that it would get implemented anyway. It would certainly be cleaner not having the Given that it is simply existing behavior, I'd like to hear some more opinions before simply removing it from the spec. |
Guys, I am getting concerned. I do not see why we should remove something from the spec that has been there for a while, is working and, frankly, does not really bother anyone. It is not like having those extras would break any software or something; the essence of RDF is that having some extra triples here and there (we are not talking about tons of additional information here) can safely be ignored if so wished. The need for this update round was really triggered by the fact that some HTML5+Microdata features were missing from the RDF conversion spec (e.g., proper generation of triples for ). So we have to make an update to add those. Then there is the separate discussion (essentially with Ian) on whether we can/should add the reverse property; if that gets into the microdata spec, then the RDF conversion should also follow. In my opinion we should stop there and not break backward compatibility and let us not start redesigning everything. (Which basically mean that the discussion round with Ian should be brought to an end soon and get this thing done, because the other necessary changes/additions are fairly obvious.) (Even the top level list: yes, it is superfluous, yes, it is a bit ugly, but it is completely harmless and, after all, let us just keep it there, we will never know whether somebody makes use of that or not. Just because it is 'ugly' should not be a reason to simply remove it.) Ivan
Ivan Herman, W3C |
I propose that all fancy-business be left as an optional extra for sophisticated tools, e.g. that you might invoke via a "power user" mode. The default should be as close to what RDFa would do as possible (except for usesVocabulary). |
I am fine with this. Ivan
Ivan Herman, W3C |
So, this might imply that the use of a registry is optional, but that we keep all of the processing rules. Perhaps there is no longer a default registry. All the rules associated with processing the registry become MAY:
Additionally, Vocabulary Entailment goes from MUST to MAY. If we choose to keep the registry, perhaps we simply keep the entry for schema.org, and it's additionalType property. Having the entry enables proper vocabulary detection in the face of the schema.org extensions mechanism, but this may not be significant anymore. Unfortunately, this won't help simplify the spec much, but will ease the burden on implementors. |
Actually... I think Dan's idea was that there would be a flag to control the processor whether it does a complete or a simple thing. The difference is important; what I believe Dan wants is that, by default, the output would be simple even in case the implementation can do the more complicated thing, ie, a control option is necessary. It is unclear to me whether all processors MUST be able to handle the complex features (under the control of the flag) or whether those are really MAY-s. Ivan
Ivan Herman, W3C |
…sing rules, but make it's use dependent on a `registry` option, either loading the default registry, or a custom registry loaded from a URL. If not provided, the registry defaults to an empty object `{}`. All processing rules remain, but will not be invoked without a non-empty registry. This does not simplify processing, but allows a behavior in which no such processing occurs. Additionally, change the vocab_expansion option to `vocab_entailment`, and make sure that it is only invoked if that option is provided to the processor.
Note comment from last commit; this restores the registry, but requires an option be set to load it. Default behavior is now that of an empty registry. This doesn't provide any simplification, just that the default behavior is now different. I'm not certain that that was what @danbri was looking for. The alternative would be to make implementing support for this option a MAY, and being more explicit about processing steps being a MAY, but conformance testing then becomes impossible and it really doesn't simplify the spec any more. |
I believe this is what he wanted indeed. The flag would also govern the generation of that top level list of resources, as well as the generation of the rdf:type values through the mini-entailment. Ivan Ivan Herman (Written on mobile, sorry for brevity and misspellings...)
|
I'm all for simply dumping the top-level list of resources entirely, as I certainly don't consider that an advanced feature; in retrospect, I think we were waffling too much on value ordering, but time has proven this to be without merit. Anyway, that is covered in issue #6. mini-entailment would only be invoked when there is an The net is really no change to the algorithm, except that the default registry is only loaded if the |
Ah! Good. That simplifies things, both on the explanation and the implementation.
O.k. There was some wording in the RDFa1.1 Core on processor control flags; that can be reused to define the flag but making it implementation dependent how this flag gets to the processor Ivan
Ivan Herman, W3C |
I added a pull-request to schema.org to create Given that we're making expansion/entailment an "advanced" option, we could alter the text to simply use RDFa expansion. If this were the case, the registry would contain just a single line:
This would cause the (Note, I still think it's a bit of a missed opportunity to keep contextual propertyURI generation and sequenced property values when there's no evidence that anyone is using a custom registry except for testing purposes, and there is really no code which would ever invoke it; existing behavior using the default registry could be maintained by removing the registry and counting on the |
Actually, it seems that we do require the registry in order to generate property property URIs for hcard.
We can't really drop using the default repository if we want to be compatible with existing documentation on using the hcard vocabulary with Microdata:
By having (Note, however, that the example on the Microformats Wiki incorrectly uses HCalendar isn't a problem, as the documented It would be worth knowing how Google is handling such input. |
Gregg, I am a bit afraid that we get into a backward incompatible changes.
{
"URIOFTHEVOCAB" {
-- all kinds of things
}
} However, your proposal of using
what I get is a JSON-LD file containing a single I see both of these issues as real problems. I wonder whether we should not keep at what we have right now... |
No, the syntax is unchanged, but the content of the registry does need to be re-visited. The current registry is the following:
According to @danbri, search engines don't honor any "multipleValues" settings that aren't the default, which implies that trying to do something else is pointless, so it could be simplified to the following:
We can also remove settings which are the same as the defaults, to get the following:
If we were to do the RDFa-based inference step, vs the scaled-down version currently in the Microdata spec, a setting for "additionalType" is not needed, yielding the following:
We can also remove the entry for hcalendar, as it's presence does not affect propertyURI generation, and only ends up creating a
The only reason to keep even this, is to allow for generating |
… backwards compatibility with hcard. Issue #10.
Hey Gregg,
O.k. I misunderstood the earlier comments then.
I am fine with that.
Of course, I am fine with that, too!
I would prefer not to do that. Let us remain with the minimal inference step for microdata as we have today, even if it is behind a flag. I would prefer to keep the implementation requirements as minimal as possible.
Well, I would prefer to put back the additional type for schema Thanks! ivan
Ivan Herman, W3C |
Hey Gregg, just trying to summarize where we are, because I think we are in agreement. If this is true, we can also close this issue
(I am not 100% sure we agreed on the last item, but it would make sense). If you agree this is where we are, I guess we can close the issue. |
I think there's still some contention on this issue that we need to resolve. As I understand it, there are two views on this:
Note that other aspects of this issue, such as removing support for As for the
This keeps the desired functionality, removes the need to emit For example, the following input:
would generate:
If this is acceptable, I'd suggest that we go back to eliminating |
Gregg, This solution could work, with one addition. The proposed solution equates subproperty and equivalent property, but that is not correct. If it is equivalent property, then an extra triple should be generated in case the graph contains either the right or the left side, so to say. But I am fine with this approach. If we do it this way, it should not be part of the power features, though, just the normal output. I am not even sure we need the power flag any more. Ivan
Ivan Herman, W3C |
One more thing, though. We and, more importantly, the user has to realize that this solution does not handle recursion. Ie, if I have a subPropertyOf b in the registry, and we extract "a" from the microdata, this will not generate a triplet figuring "c". Or does it? Do we do it recursively? But wait! This is exactly what the current document stipulates describes (and nothing more):-) Ivan
Ivan Herman, W3C |
Yes, that should be fairly straight-forward to handle, but would could just as easily leave out equivalentProperty; AFAIKR, it was there because we were coming off of RDFa entailment, where we handled it. The idea isn't to sneak in reasoning, but to just give a simple way to output the I'll update the spec in the next day or so. Still leaves the issues of |
I am not sure that was the reason. The issue of truly equivalent properties came up, as far as I remember, around schema.org discussions. I could see, in future, real equivalent properties popping up around schema (eg, for the IPTC vocabularies), so I think it is more future proof to leave that in.
See above. I do not think it came in because of any reasoning issues. See also my other comment: we do not do these things recursively, do we?
I am neutral on the subject. I think the whole list idea came in because we wanted to keep close to the JSON mapping in the microdata spec; I am not even sure that mapping is really used anywhere... Ivan
Ivan Herman, W3C |
No comments received during review period, closing this issue and removing from the spec. |
The Vocabulary Registry has not been kept up to date, and principle consumers of microdata (i.e., Search Engines) ignore this in any case. This issue proposes to remove the Registry, along with support for independently setting
propertyURI
andmultipleValues
.propertyURI
is treated likevocabulary
if there is an@itemtype
, otherwise, likecontextual
creating a property relative to the document base.multipleValues
is treated likefalse
, where values are never placed in anrdf:List
.The text was updated successfully, but these errors were encountered: