When I run your code, among the several triples added I see (rdflib.term.URIRef('http://example.org#Avatar'), rdflib.term.URIRef(' http://schema.org/keyWords'), rdflib.term.URIRef('http://example.org#Sam'))
If you turn off inference, it is the only triple added. So perhaps some sort of an environment issue. On Wed, May 26, 2021 at 1:24 PM richarddi...@gmail.com < richarddijkstra1...@gmail.com> wrote: > A new conversation because I can not add a new to the previous. > > @Boris, Yes, sometimes even inference within TB Composer is complex. > > So I hoped pyshacl is an alternative. But a minimal running example does > not give inferred triples; sorry to be a hard learner. Here I try to infer > keyWords for schema:Avatar. > > Python code > --------------------------------------------------------------------- > from rdflib import Graph, URIRef > from pyshacl import validate > > shapes = Graph() > shapes.parse('testshapes.ttl', format='ttl') > data_graph = Graph() > data_graph.parse('testdata.ttl', format='ttl') > > data_graph_orig = Graph() > for t in data_graph: > data_graph_orig.add(t) > > r = validate(data_graph, > shacl_graph=shapes, > #ont_graph=og, > inference='rdfs', > abort_on_error=False, > meta_shacl=True, > advanced=True, > js=False, > debug=True) > > conforms, results_graph, results_text = r > > added_triples = data_graph - data_graph_orig > print('Added triples: ', len(added_triples)) > print(added_triples.all_nodes()) > > > Data > ----------------------------------------------------- > @prefix schema: <http://schema.org/> . > @prefix owl: <http://www.w3.org/2002/07/owl#> . > @prefix : <http://example.org#>. > > :movies a owl:Ontology ; > owl:imports schema: . > > :Avatar a schema:Movie ; > schema:actor :Sam . > > > > Shapes: > ------------------------------------------------------ > @prefix sh: <http://www.w3.org/ns/shacl#>. > @prefix owl: <http://www.w3.org/2002/07/owl#> . > @prefix schema: <http://schema.org/> . > @prefix xsd: <http://www.w3.org/2001/XMLSchema#>. > @prefix : <http://example.org#>. > > :movieOntology > a owl:Ontology ; > owl:imports schema: ; > owl:imports sh: ; > owl:imports xsd: ; > sh:declare > [ sh:prefix "sh" ; > sh:namespace "http://www.w3.org/ns/shacl#"^^xsd:anyURI ; ] , > [ sh:prefix "schema" ; > sh:namespace "http://schema.org/"^^xsd:anyURI ;] , > [ sh:prefix "owl" ; > sh:namespace "http://www.w3.org/2002/07/owl#"^^xsd:anyURI ; ] > . > > :keywordsRule > a sh:NodeShape ; > sh:targetClass schema:Movie ; > sh:rule [ > a sh:SPARQLRule ; > sh:prefixes schema: ; > sh:construct """ > CONSTRUCT { > $this schema:keyWords ?actor . > } > WHERE { > $this schema:actor ?actor . > } > """ ; > ] ; > . > > > Regards, > Richard > > -- > http://github.com/RDFLib > --- > You received this message because you are subscribed to the Google Groups > "rdflib-dev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to rdflib-dev+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/rdflib-dev/15aef451-28f3-4501-872a-9ae2ca5193d2n%40googlegroups.com > <https://groups.google.com/d/msgid/rdflib-dev/15aef451-28f3-4501-872a-9ae2ca5193d2n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- http://github.com/RDFLib --- You received this message because you are subscribed to the Google Groups "rdflib-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to rdflib-dev+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/rdflib-dev/CAMNphsohUQEDj2Z75Pr3MaKf%2BM%2Bobg%2BOhx%2BemqPgTtewJ7%3DKDA%40mail.gmail.com.