{"action":"created","issue":{"url":"https://api.github.com/repos/AmpersandTarski/ampersand/issues/237","labels_url":"https://api.github.com/repos/AmpersandTarski/ampersand/issues/237/labels{/name}","comments_url":"https://api.github.com/repos/AmpersandTarski/ampersand/issues/237/comments","events_url":"https://api.github.com/repos/AmpersandTarski/ampersand/issues/237/events","html_url":"https://github.com/AmpersandTarski/ampersand/issues/237","id":120397251,"number":237,"title":"Selecting fruit that is not citrus does not work.","user":{"login":"hanjoosten","id":1159672,"avatar_url":"https://avatars.githubusercontent.com/u/1159672?v=3","gravatar_id":"","url":"https://api.github.com/users/hanjoosten","html_url":"https://github.com/hanjoosten","followers_url":"https://api.github.com/users/hanjoosten/followers","following_url":"https://api.github.com/users/hanjoosten/following{/other_user}","gists_url":"https://api.github.com/users/hanjoosten/gists{/gist_id}","starred_url":"https://api.github.com/users/hanjoosten/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hanjoosten/subscriptions","organizations_url":"https://api.github.com/users/hanjoosten/orgs","repos_url":"https://api.github.com/users/hanjoosten/repos","events_url":"https://api.github.com/users/hanjoosten/events{/privacy}","received_events_url":"https://api.github.com/users/hanjoosten/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/AmpersandTarski/ampersand/labels/bug","name":"bug","color":"e11d21"},{"url":"https://api.github.com/repos/AmpersandTarski/ampersand/labels/component:type%20checker","name":"component:type checker","color":"0052cc"},{"url":"https://api.github.com/repos/AmpersandTarski/ampersand/labels/priority:normal","name":"priority:normal","color":"fbca04"}],"state":"open","locked":false,"assignee":{"login":"hanjoosten","id":1159672,"avatar_url":"https://avatars.githubusercontent.com/u/1159672?v=3","gravatar_id":"","url":"https://api.github.com/users/hanjoosten","html_url":"https://github.com/hanjoosten","followers_url":"https://api.github.com/users/hanjoosten/followers","following_url":"https://api.github.com/users/hanjoosten/following{/other_user}","gists_url":"https://api.github.com/users/hanjoosten/gists{/gist_id}","starred_url":"https://api.github.com/users/hanjoosten/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hanjoosten/subscriptions","organizations_url":"https://api.github.com/users/hanjoosten/orgs","repos_url":"https://api.github.com/users/hanjoosten/repos","events_url":"https://api.github.com/users/hanjoosten/events{/privacy}","received_events_url":"https://api.github.com/users/hanjoosten/received_events","type":"User","site_admin":false},"milestone":null,"comments":8,"created_at":"2015-12-04T13:01:44Z","updated_at":"2015-12-07T04:30:46Z","closed_at":null,"body":"Given the well-known fruit example, \r\n\r\nCLASSIFY Citrus ISA Fruit\r\n\r\nIn an interface of concept Fruit, I want to show iff it is not Citrus:\r\n\r\nBOX \r\n[ \"fruit\" : I\r\n, \"non-citrus fruit\" : I[Fruit] /\\ -I[Citrus]\r\n]\r\n\r\nIn the sql, I get:\r\n\r\n    '/* case: ECpl (EDcI Citrus) */\r\n    select\r\n    distinct\r\n    \"concept0\".\"Citrus\" as src, \"concept1\".\"Citrus\" as tgt\r\n    from \"Fruit\" as \"concept0\",\r\n             \"Fruit\" as \"concept1\"\r\n    where \"concept0\".\"Citrus\" <> \"concept1\".\"Citrus\"'\r\n\r\nThis is obviously wrong, because it does not select the fruits that are not citrus.\r\n\r\nThe expression in the first line comes from the normalizer. It doesn't tell anything about the largest concept. That is required, because otherwise the SQL generator has to guess. "},"comment":{"url":"https://api.github.com/repos/AmpersandTarski/ampersand/issues/comments/162408270","html_url":"https://github.com/AmpersandTarski/ampersand/issues/237#issuecomment-162408270","issue_url":"https://api.github.com/repos/AmpersandTarski/ampersand/issues/237","id":162408270,"user":{"login":"stefjoosten","id":275768,"avatar_url":"https://avatars.githubusercontent.com/u/275768?v=3","gravatar_id":"","url":"https://api.github.com/users/stefjoosten","html_url":"https://github.com/stefjoosten","followers_url":"https://api.github.com/users/stefjoosten/followers","following_url":"https://api.github.com/users/stefjoosten/following{/other_user}","gists_url":"https://api.github.com/users/stefjoosten/gists{/gist_id}","starred_url":"https://api.github.com/users/stefjoosten/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stefjoosten/subscriptions","organizations_url":"https://api.github.com/users/stefjoosten/orgs","repos_url":"https://api.github.com/users/stefjoosten/repos","events_url":"https://api.github.com/users/stefjoosten/events{/privacy}","received_events_url":"https://api.github.com/users/stefjoosten/received_events","type":"User","site_admin":false},"created_at":"2015-12-07T04:30:46Z","updated_at":"2015-12-07T04:30:46Z","body":"That's my fault. I could not push `Ticket237.adl` to ShouldFail, because I got in a mess with Git and insufficient time to solve it. That explains its absence. Sorry for that. Nevertheless, I do want a file `Tests\\ShouldFail\\Ticket237.adl` that tests this issue in the sentinel. Once it is in place, Han can close this issue as far as I'm concerned."}}