!!d3web Demo Here we define our objects/questions %%Question Who does John love? [oc] - Mary - Someone else - Himself - No one What is John doing? <abstract> [oc] - He isn't doing anything - He buys a present for Mary % The rule: %%Rule IF "Who does John love?" = Mary THEN "What is John doing?" = He buys a present for Mary ELSE "What is John doing?" = "He isn't doing anything" % Dialog to test the knowledge. Answer the first question, the rule will answer the second automatically (red square to reset) %%QuickInterview % Shows the currently derived fact: %%ShowSolutions @show_abstractions: true % Here we have the markup to define and compile the knowledge. You can download/export it here (tools in the top right corner): %%KnowledgeBase Demo Knowledge Base % !!Ontology demo We define our ontology: %%Turtle demo:Person a rdfs:Class. demo:John a demo:Person. demo:Mary a demo:Person. demo:loves a rdf:Property. demo:buysPresent a rdf:Property. demo:loves owl:sameAs demo:buysPresent. demo:John demo:loves demo:Mary. % Now we query that ontology... A query do see who loves whom: %%Sparql SELECT * WHERE { ?Person1 demo:loves ?Person2 } @showQuery: true % A query do see who buys a present for whom: %%Sparql SELECT * WHERE { ?Person1 demo:buysPresent ?Person2 } @showQuery: true % %%SparqlVisualization SELECT ?x ?y ?z WHERE { ?x ?y ?z FILTER (STRSTARTS(STR(?x), "http://example.org")) . FILTER (STRSTARTS(STR(?y), "http://example.org") || ?y = rdf:type) . } % Here we have again a markup to compile the ontology. You can download/export it here (tools in the top right corner): %%Ontology Demo ontology @ruleset: OWL_HORST_OPTIMIZED % %%Namespace demo http://example.org % Some technical stuff: We define a separate package for all the knowledge on this page, so it is separate from all the other knowledge on d3web.de %%Package ling