Please see below I corrected it I am just trying to write rules to have each concept come out with an exercise. The one I wrote just pulls everything any assistance would be greatly appreciated.
Thanks, Brian > On Jul 22, 2021, at 3:13 PM, Brian Le <[email protected]> wrote: > > > Hello All, > Apologies If I don't do this right but I am new to java and jena so please > bear with me if I am doing this wrong completely. I just started to get back > into coding after being away for some time. I've made an ontology but I was > wondering If It is possible to use SPARQL to pull in everything and then use > a rule to help filter the data and make it unique. Any advice or help would > be really String prefixString= "@prefix uo: <http://www.semanticweb.org/szhang10/ontologies/2021/5/untitled-ontology-2#>"; String inputFile = "C:\\Users\\brian\\IdeaProjects\\hello-semantic-web\\src\\model.rdf"; Model model = ModelFactory.createDefaultModel(); InputStream in = FileManager.get().open(inputFile); if (in == null) { throw new IllegalArgumentException("Filenot found"); } model.read(in, ""); String rules = prefixString + "[rule: (uo:DiscreteStructures uo:HasConcept uo:Recursion)->" + "(uo:Recursion uo:HasConcept uo:DiscreteStructures)"; Reasoner reasoner = new GenericRuleReasoner(Rule.parseRules(rules)); InfModel inf = ModelFactory.createInfModel(reasoner, model); inf.write(System.out,"TURTLE"); > The example would come out to be something like |s > |o | > | untitled-ontology-2:Recursion | untitled-ontology-2:Exercise5-2 | > | untitled-ontology-2:Proposition | untitled-ontology-2:Exercise1-1 | > | untitled-ontology-2:Congruence | untitled-ontology-2:Exercise4-2 | > | untitled-ontology-2:Sequence | untitled-ontology-2:Exercise2-2 | > | untitled-ontology-2:Function | untitled-ontology-2:Exercise2-2 | > | untitled-ontology-2:Predicate | untitled-ontology-2:Exercise1-1 | > | untitled-ontology-2:Set | untitled-ontology-2:Exercise2-1 | > | untitled-ontology-2:Induction | untitled-ontology-2:Exercise5-1 | > Some snippet of the ont is <owl:NamedIndividual > rdf:about="http://www.semanticweb.org/ontologies/2021/5/untitled-ontology-2#Predicate"> > <rdf:type > rdf:resource="http://www.semanticweb.org/ontologies/2021/5/untitled-ontology-2#Concept"/> > </owl:NamedIndividual> > <owl:NamedIndividual > rdf:about="http://www.semanticweb.org/ontologies/2021/5/untitled-ontology-2#Exercise1-1"> > <rdf:type > rdf:resource="http://www.semanticweb.org/ontologies/2021/5/untitled-ontology-2#Exercise"/> > <untitled-ontology-2:isRelatedToConcept > rdf:resource="http://www.semanticweb.org > /ontologies/2021/5/untitled-ontology-2#Predicate"/> > <untitled-ontology-2:isRelatedToConcept > rdf:resource="http://www.semanticweb.org > /ontologies/2021/5/untitled-ontology-2#Proposition"/> > </owl:NamedIndividual> > > <owl:NamedIndividual rdf:about="http://www.semanticweb.org > /ontologies/2021/5/untitled-ontology-2#Exercise1-2"> > <rdf:type rdf:resource="http://www.semanticweb.org > /ontologies/2021/5/untitled-ontology-2#Exercise"/> > <untitled-ontology-2:isRelatedToConcept > rdf:resource="http://www.semanticweb.org > /ontologies/2021/5/untitled-ontology-2#Predicate"/> > </owl:NamedIndividual> > > <owl:NamedIndividual rdf:about="http://www.semanticweb.org > /ontologies/2021/5/untitled-ontology-2#Exercise2-1"> > <rdf:type rdf:resource="http://www.semanticweb.org > /ontologies/2021/5/untitled-ontology-2#Exercise"/> > <untitled-ontology-2:isRelatedToConcept > rdf:resource="http://www.semanticweb.org > /ontologies/2021/5/untitled-ontology-2#Set"/> > </owl:NamedIndividual> > in TTL format if needed > http://www.semanticweb.org/ontologies/2021/5/untitled-ontology-2#Structures:Structures > rdf:type owl:NamedIndividual ,:Course ; > :hasConcept :Congruence , > :Function , > :Induction , > :Predicate , > :Proposition , > :Recursion , > :Sequence , > :Set ; > :hasTopic :BaseBExpansion , > :TimeComplexity. > > > > Any advice or help would be really appreciated needed any help tips > anything really would be greatly appreciated! > > Thanks for everything, > >> On Thu, Jul 22, 2021 at 12:37 PM Brian Le <[email protected]> wrote: >> Hello All, >> Apologies If I don't do this right but I am new to java and jena so please >> bear with me if I am doing this wrong completely. I just started to get back >> into coding after being away for some time. I've made an ontology but I was >> wondering If It is possible to use SPARQL to pull in everything and then use >> a rule to help filter the data and make it unique. Any advice or help would >> be really appreciated >> public static String reasoningTest() { >> >> Model model = ModelFactory.createDefaultModel(); >> String rules = "[rule1:(if possible?)]"; >> Instant start = Instant.now(); >> Reasoner reasoner = new GenericRuleReasoner(Rule.parseRules(rules)); >> InfModel inf = ModelFactory.createInfModel(reasoner, model); >> >> String queryString = "select ?o (min(?s)) " + >> "where { ?s untitled-ontology-2:isRelatedToConcept ?o }" + >> " GROUP BY ?o";; >> >> Query query = QueryFactory.create(queryString); >> >> try (QueryExecution qexec = QueryExecutionFactory.create(query, >> inf)) { >> ResultSet results = qexec.execSelect(); >> for ( ; results.hasNext() ; ) { >> QuerySolution soln = results.nextSolution(); >> System.out.println(soln.toString()); >> } >> } >> Instant end = Instant.now(); >> System.out.println("Sparql query " + queryString + " evaluated in " >> + Duration.between(start, end)); >> } >> The example would come out to be something like |s >> |o | >> | untitled-ontology-2:Recursion | untitled-ontology-2:Exercise5-2 | >> | untitled-ontology-2:Proposition | untitled-ontology-2:Exercise1-1 | >> | untitled-ontology-2:Congruence | untitled-ontology-2:Exercise4-2 | >> | untitled-ontology-2:Sequence | untitled-ontology-2:Exercise2-2 | >> | untitled-ontology-2:Function | untitled-ontology-2:Exercise2-2 | >> | untitled-ontology-2:Predicate | untitled-ontology-2:Exercise1-1 | >> | untitled-ontology-2:Set | untitled-ontology-2:Exercise2-1 | >> | untitled-ontology-2:Induction | untitled-ontology-2:Exercise5-1 | >> Some snippet of the ont is <owl:NamedIndividual >> rdf:about="http://www.semanticweb.org/ontologies/2021/5/untitled-ontology-2#Predicate"> >> <rdf:type >> rdf:resource="http://www.semanticweb.org/ontologies/2021/5/untitled-ontology-2#Concept"/> >> </owl:NamedIndividual> >> <owl:NamedIndividual >> rdf:about="http://www.semanticweb.org/ontologies/2021/5/untitled-ontology-2#Exercise1-1"> >> <rdf:type >> rdf:resource="http://www.semanticweb.org/ontologies/2021/5/untitled-ontology-2#Exercise"/> >> <untitled-ontology-2:isRelatedToConcept >> rdf:resource="http://www.semanticweb.org >> /ontologies/2021/5/untitled-ontology-2#Predicate"/> >> <untitled-ontology-2:isRelatedToConcept >> rdf:resource="http://www.semanticweb.org >> /ontologies/2021/5/untitled-ontology-2#Proposition"/> >> </owl:NamedIndividual> >> >> <owl:NamedIndividual rdf:about="http://www.semanticweb.org >> /ontologies/2021/5/untitled-ontology-2#Exercise1-2"> >> <rdf:type rdf:resource="http://www.semanticweb.org >> /ontologies/2021/5/untitled-ontology-2#Exercise"/> >> <untitled-ontology-2:isRelatedToConcept >> rdf:resource="http://www.semanticweb.org >> /ontologies/2021/5/untitled-ontology-2#Predicate"/> >> </owl:NamedIndividual> >> >> <owl:NamedIndividual rdf:about="http://www.semanticweb.org >> /ontologies/2021/5/untitled-ontology-2#Exercise2-1"> >> <rdf:type rdf:resource="http://www.semanticweb.org >> /ontologies/2021/5/untitled-ontology-2#Exercise"/> >> <untitled-ontology-2:isRelatedToConcept >> rdf:resource="http://www.semanticweb.org >> /ontologies/2021/5/untitled-ontology-2#Set"/> >> </owl:NamedIndividual> >> in TTL format if needed >> http://www.semanticweb.org/ontologies/2021/5/untitled-ontology-2#Structures:Structures >> rdf:type owl:NamedIndividual ,:Course ; >> :hasConcept :Congruence , >> :Function , >> :Induction , >> :Predicate , >> :Proposition , >> :Recursion , >> :Sequence , >> :Set ; >> :hasTopic :BaseBExpansion , >> :TimeComplexity. >> >> >> >> Any advice or help would be really appreciated needed any help tips >> anything really would be greatly appreciated! >> >> Thanks for everything,
