kgdata 4.0.1

Library to process dumps of knowledge graphs (Wikipedia, DBpedia, Wikidata)
Documentation
use super::Property;
use serde::{Deserialize, Serialize};

#[derive(Clone, Serialize, Deserialize)]
pub enum KGName {
    Wikidata,
    DBpedia,
}

#[derive(Clone, Serialize, Deserialize)]
pub struct KnowledgeGraphNamespace {
    kgname: KGName,
    pub instanceof: String,
}

impl KnowledgeGraphNamespace {
    pub fn wikidata() -> Self {
        Self {
            kgname: KGName::Wikidata,
            instanceof: "P31".to_owned(),
        }
    }

    pub fn is_transitive_property(&self, prop: &Property) -> bool {
        match self.kgname {
            KGName::Wikidata => prop.instanceof.iter().any(|x| x == "Q18647515"),
            KGName::DBpedia => false,
        }
    }
}