"use strict";
// -*- mode: js; indent-tabs-mode: nil; js-basic-offset: 4 -*-
//
// This file is part of Genie
//
// Copyright 2020 The Board of Trustees of the Leland Stanford Junior University
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//    http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Author: Silei Xu <silei@cs.stanford.edu>
Object.defineProperty(exports, "__esModule", { value: true });
exports.STRING_FILE_OVERRIDES = exports.PROPERTY_TYPE_SAME_AS_SUBJECT = exports.PROPERTY_FORCE_NOT_ARRAY = exports.PROPERTY_FORCE_ARRAY = exports.PROPERTIES_NO_FILTER = exports.PROPERTY_TYPE_OVERRIDE = exports.MANUAL_TABLE_CANONICAL_OVERRIDE = exports.MANUAL_PROPERTY_CANONICAL_OVERRIDE = void 0;
const thingtalk_1 = require("thingtalk");
const PROPERTY_TYPE_OVERRIDE = {
    'P166': new thingtalk_1.Type.Array(new thingtalk_1.Type.Entity('org.wikidata:award')),
    'P1411': new thingtalk_1.Type.Array(new thingtalk_1.Type.Entity('org.wikidata:award')),
    'P106': new thingtalk_1.Type.Array(new thingtalk_1.Type.Entity('org.wikidata:occupation')),
    'P26': new thingtalk_1.Type.Array(new thingtalk_1.Type.Entity('org.wikidata:human')),
    'P21': new thingtalk_1.Type.Enum(['female', 'male']),
    'P17': new thingtalk_1.Type.Entity('org.wikidata:country'),
    'P2295': thingtalk_1.Type.Currency,
    'P2031': thingtalk_1.Type.Date,
    'P2032': thingtalk_1.Type.Date,
    'P172': new thingtalk_1.Type.Array(new thingtalk_1.Type.Entity('org.wikidata:ethnic_group')),
    'P1344': new thingtalk_1.Type.Array(new thingtalk_1.Type.Entity('org.wikidata:event')),
    'P54': new thingtalk_1.Type.Array(new thingtalk_1.Type.Entity('org.wikidata:sports_team')),
    'P647': new thingtalk_1.Type.Entity('org.wikidata:sports_team'),
    'P1618': new thingtalk_1.Type.Array(thingtalk_1.Type.Number),
    'P1352': thingtalk_1.Type.Number,
    'P1303': new thingtalk_1.Type.Array(new thingtalk_1.Type.Entity('org.wikidata:musical_instrument')),
    'P264': new thingtalk_1.Type.Array(new thingtalk_1.Type.Entity('org.wikidata:record_label')),
    'P361': new thingtalk_1.Type.Array(thingtalk_1.Type.String),
    'P398': new thingtalk_1.Type.Array(new thingtalk_1.Type.Entity('org.wikidata:star')),
    'P397': new thingtalk_1.Type.Array(new thingtalk_1.Type.Entity('org.wikidata:star')),
    'P2227': thingtalk_1.Type.Number,
    'P85': new thingtalk_1.Type.Entity('org.wikidata:song'),
    'P942': new thingtalk_1.Type.Entity('org.wikidata:song'),
    'P36': new thingtalk_1.Type.Entity('org.wikidata:city'),
    'P206': new thingtalk_1.Type.Array(thingtalk_1.Type.String),
    'P610': thingtalk_1.Type.Location,
    'P1589': thingtalk_1.Type.Location,
};
exports.PROPERTY_TYPE_OVERRIDE = PROPERTY_TYPE_OVERRIDE;
// properties that should have the same type as the subject
const PROPERTY_TYPE_SAME_AS_SUBJECT = new Set([
    'P190',
    'P47',
    'P530',
]);
exports.PROPERTY_TYPE_SAME_AS_SUBJECT = PROPERTY_TYPE_SAME_AS_SUBJECT;
const PROPERTY_FORCE_ARRAY = new Set([
    'P1449',
    'P1813',
    'P206',
    'P190',
    'P47',
    'P112',
    'P488',
    'P2828',
    'P452',
    'P1056',
    'P39',
    'P3373',
    'P40',
    'P1412',
    'P1830',
    'P127',
    'P859',
    'P551',
    'P1344',
    'P641',
    'P413',
    'P118',
    'P412',
    'P800',
    'P37',
    'P6',
    'P150',
    'P421',
    'P170',
    'P58',
    'P161',
    'P162',
    'P674',
]);
exports.PROPERTY_FORCE_ARRAY = PROPERTY_FORCE_ARRAY;
const PROPERTY_FORCE_NOT_ARRAY = new Set([]);
exports.PROPERTY_FORCE_NOT_ARRAY = PROPERTY_FORCE_NOT_ARRAY;
const MANUAL_PROPERTY_CANONICAL_OVERRIDE = {};
exports.MANUAL_PROPERTY_CANONICAL_OVERRIDE = MANUAL_PROPERTY_CANONICAL_OVERRIDE;
const MANUAL_TABLE_CANONICAL_OVERRIDE = {};
exports.MANUAL_TABLE_CANONICAL_OVERRIDE = MANUAL_TABLE_CANONICAL_OVERRIDE;
const PROPERTIES_NO_FILTER = [];
exports.PROPERTIES_NO_FILTER = PROPERTIES_NO_FILTER;
const STRING_FILE_OVERRIDES = {};
exports.STRING_FILE_OVERRIDES = STRING_FILE_OVERRIDES;
//# sourceMappingURL=manual-annotations.js.map