-
Notifications
You must be signed in to change notification settings - Fork 157
Should each member in a list contribute to term rank? #172
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
OPTION 1: Both lists should be compacted to term1. |
I don't want to complicate the term ranking algorithms any more than what they are right now. It seems as if this may be a corner-case. Since term2 doesn't match every item in the list, I think term1 should be picked instead for both lists. I don't know if this should throw an error... converting toRDF should throw an error, but probably not compaction? What do other folks feel about whether lists-of-lists should be allowed in regular JSON-LD, but when converting to RDF, they should throw an error? OPTION 1: +1 |
I thought lists-of-lists were not allowed in this version of JSON-LD specifically because of the added complexity with regards to algorithms? Provided the term ranking algorithm is clear enough for implementers, I don't think there's a quick-and-easy way to improve it without introducing further complications. OPTION 1: +1 (i.e. follow the current algorithm) |
OPTION 1: -1, it is quite obvious what the best match would be and this is not a corner case IMHO Honestly I'm a bit surprised by your choices. Would your opinion change if the context would look like this:
Actually I don't think this adds complexity, but it would remove some complexity. |
As I just found out, the playground fails completely in this example as it collapses the two lists into one: http://bit.ly/UQG2C7 |
Te problem with this example is that it subtly depends on narrow specifics of the term ranking algorithm.. We might just consider this non-conforming and leave it up to the processor to select one; there's no obviously right answer. Alternatively, just make sure that the choice (and the examples) are appropriate for the specified algorithm, which this is not. PROPOSAL 1: -1, lists of lists are not well formed, so Postel's rule applies. |
Why should such a list be non-conforming? Why is this an "in-appropriate choice for the specified algorithm"? This is not a list of lists but there are two separate lists in this example. |
What could be non-conforming is the selection of lists having multiple languages along with language maps. If not conforming, it's certainly a pathological corner-case. Regarding the example, I noted this in d1b3ad3 and in this email. The ranks in this test add up as follows (using the spec'ed algorithm): first list, term 1/term 2: 13/7 This is why the example isn't appropriate. If you definitely want to have term 2 selected for the second list, it should be less ambitious as to how it turns out. If the point of the example is to show that your alternate algorithm is better, fine, but if we have tests, they should be consistent with the algorithm specified. In any case, this is like re-aranging armchairs on the Titanic. It's a corner case, and there's no absolutely right answer. |
We are not discussing language maps in this example. I know what the spec'ed algorithm sums up to, and in my opinion it shouldn't sum up to these numbers. If you use the following context it would in fact separate the lists.
I can't see any compelling argument why the context above should yield a different result than the context below:
Well, in my opinion the most important tests are the ones that test corner cases. I tried several times to have a discussion about the algorithms but it seems to be impossible because "there are already two implementations" and that's "how it is currently specified" so I'll just give up on this. |
If Term Tank needs to be re-written any way to take into consideration language maps and other resolutions, then I think it's fair game to play with and improve. If it doesn't need to be updated, I'd just say leave wee enough alone. |
RESOLVED: When compacting lists, the most specific term that matches all of the elements in the list, taking into account the default language, must be selected. |
I've updated all algorithms, unless I hear objections I will close this issue in 24 hours. |
There have been some discussions on the mailing list about what the outcome of the following compaction should be.
Input
Context
Please note that
term1
uses the context's default languag, i.e.,de
, whereasterm2
usesen
; otherwise they have exactly the same definition.The question is whether both lists should be compacted to
term1
(and thus trigger an error) or whetherterm2
should be choosen instead for list 2 as there are more matches (threeen
compared to twode
).The text was updated successfully, but these errors were encountered: