Skip to content

When using the builtin "general" AssemblerGroup, do we need to create a custom FileManger assembler? #3152

Open
@aperera12

Description

@aperera12

Version

5.3.0

Question

I'm currently trying to create a group of nested models with the Assembler, and am using a document manager to manage multiple ontologies for an OntModel. I'm running into the issue where the assembler group is looking for an assembler for the DocumentManager ja:fileManager object, but that doesn't exist on the general assembler group.

Looking through the code, I want to think it would use the DocumentManagerAssembler's "getFileManager" method to assemble the FileManager, but it's looking for a root assembler on the group itself.

Assembly.ttl

@prefix ja: <http://jena.hpl.hp.com/2005/11/Assembler#> .
@prefix lm: <http://jena.hpl.hp.com/2004/08/location-mapping#> .
@prefix ja: <http://www.example.com/core/vocab/v2/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

<http://www.example.com/> a ja:UnionModel ;
    ja:subModel <http://www.example.com/test/> .

<http://www.example.com/test/> a ja:UnionModel ;
    ja:subModel <http://www.example.com/test/_model/vocab/> .

<http://www.example.com/test/_model/vocab/v1/> a ja:OntModel ;
    ja:ontModelSpec <http://www.example.com/test/_model/vocab/v1/spec/> .

<http://www.example.com/test/_model/vocab/v1/document-manager/> a ja:DocumentManager ;
    ja:fileManager [ ja:locationMapper <http://www.example.com/test/_model/vocab/v1/mapper/> ] .

<http://www.example.com/test/_model/vocab/v1/mapper/> lm:mapping [ lm:altName "file:/path/to/v1.vocab.ttl" ] ;
    lm:name "file:v1.vocab.ttl" .

<http://www.example.com/test/_model/vocab/v1/spec/> a ja:OntModelSpec ;
    ja:documentManager <http://www.example.com/test/_model/vocab/v1/document-manager/> .

<http://www.example.com/test/_model/vocab/v2/> a ja:OntModel ;
    ja:ontModelSpec <http://www.example.com/test/_model/vocab/v2/spec/> .

<http://www.example.com/test/_model/vocab/v2/document-manager/> a ja:DocumentManager ;
    ja:fileManager [ ja:locationMapper <http://www.example.com/test/_model/vocab/v2/mapper/> ] .

<http://www.example.com/test/_model/vocab/v2/mapper/> lm:mapping [ lm:altName "file:/path/to/v2.vocab.ttl" ] ;
    lm:name "file:v2.vocab.ttl" .

<http://www.example.com/test/_model/vocab/v2/spec/> a ja:OntModelSpec ;
    ja:documentManager <http://www.example.com/test/_model/vocab/v2/document-manager/> .

<http://www.example.com/test/_model/vocab/> a ja:UnionModel ;
    ja:subModel <http://www.example.com/test/_model/vocab/v1/>,
        <http://www.example.com/test/_model/vocab/v2/> .

DocumentManagerAssembler#getFileManager

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions