Thank you Boris. I'll have a look.

On Thursday, May 27, 2021 at 2:54:55 AM UTC+2 Boris Pelakh wrote:

> 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 [email protected] <
> [email protected]> 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 [email protected].
>> 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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rdflib-dev/e2bdee56-acb4-4ebd-91ef-4b74f665bf16n%40googlegroups.com.

Reply via email to