Пример #1
0
        private void AddSubclassButton_OnClick(object sender, RoutedEventArgs e)
        {
            if (!InputChecker.isValidInput(SubjectSubClass.Text, ObjectSubClass.Text))
            {
                MessageBox.Show("Invalid input", "Error");
                return;
            }

            //if (!dm.graph.GetTriplesWithSubjectObject(dm.graph.CreateUriNode("mc:"+ObjectSubClass.Text),
            //    dm.graph.CreateUriNode("rdfs:Class")).Any() || !dm.graph.GetTriplesWithSubjectPredicate(dm.graph.CreateUriNode("mc:" + ObjectSubClass.Text),
            //        dm.graph.CreateUriNode("rdfs:subClassOf")).Any())
            //{
            //    MessageBox.Show("Class "+ObjectSubClass.Text+" does not exist","Error" );
            //    return;
            //}
            if (dm.graph.GetTriplesWithSubjectPredicate(dm.graph.CreateUriNode("mc:" + SubjectSubClass.Text),
                                                        dm.graph.CreateUriNode("rdfs:subClassOf")).Any() || dm.graph.GetTriplesWithSubjectObject(dm.graph.CreateUriNode("mc:" + SubjectSubClass.Text),
                                                                                                                                                 dm.graph.CreateUriNode("rdfs:Class")).Any())
            {
                MessageBox.Show("Class " + SubjectSubClass.Text + " already exists", "Error");
                return;
            }


            dm.AddTriple("mc:" + SubjectSubClass.Text, "rdfs:subClassOf", "mc:" + ObjectSubClass.Text);
            MessageBox.Show("Success!", "Triple asserted!");
            InitItemsSources();
        }
Пример #2
0
        private void AddIndividButton_OnClick(object sender, RoutedEventArgs e)
        {
            if (!InputChecker.isValidInput(SubjectIndivid.Text, ObjectClass.Text))
            {
                MessageBox.Show("Invalid input", "Error");
                return;
            }

            if (dm.objects.Contains(SubjectIndivid.Text))
            {
                MessageBox.Show("This object already exists", "Error");
                return;
            }

            dm.AddTriple("mo:" + SubjectIndivid.Text, "rdf:type", "mc:" + ObjectClass.Text);
            MessageBox.Show("Success!", "Triple asserted!");
            InitItemsSources();
        }
Пример #3
0
        private void AddPropertyButton_OnClick(object sender, RoutedEventArgs e)
        {
            if (!InputChecker.isValidInput(PropertySubject.Text))
            {
                MessageBox.Show("Invalid input", "Error");
                return;
            }

            if (dm.properties.Contains(PropertySubject.Text))
            {
                MessageBox.Show("This property already exists", "Error");
                return;
            }

            dm.properties.Add(PropertySubject.Text);
            dm.AddTriple("mp:" + PropertySubject.Text, "rdf:type", "rdf:Property");
            MessageBox.Show("Success!", "Triple asserted!");
            InitItemsSources();
        }
Пример #4
0
        private void AddPropTripleButton_OnClick(object sender, RoutedEventArgs e)
        {
            if (!InputChecker.isValidInput(PropTripleSubject.Text, PropTripleObject.Text, PropTriplePredicate.Text))
            {
                MessageBox.Show("Invalid input", "Error");
                return;
            }

            if (PropTripleSubject.Text == PropTripleObject.Text)
            {
                MessageBox.Show("You can not add triple with equal Subject and Object", "Error");
                return;
            }

            if (dm.Triples.Contains(new Tuple <string, string, string>("Object:" + PropTripleSubject.Text,
                                                                       PropTriplePredicate.Text, "Object:" + PropTripleObject.Text)))
            {
                MessageBox.Show("This triple already exists", "Error");
                return;
            }
            if (PropTriplePredicate.Text == "whatFor")
            {
                dm.AddTriple("mo:" + PropTripleSubject.Text, "wikiProperty:P1542", "mo:" + PropTripleObject.Text);
            }
            else if (PropTriplePredicate.Text == "causesWhy")
            {
                dm.AddTriple("mo:" + PropTripleSubject.Text, "wikiProperty:P2868", "mo:" + PropTripleObject.Text);
            }
            else
            {
                dm.AddTriple("mo:" + PropTripleSubject.Text, "mp:" + PropTriplePredicate.Text, "mo:" + PropTripleObject.Text);
            }

            MessageBox.Show("Success!", "Triple asserted!");
            InitItemsSources();
        }