When using the builtin "general" AssemblerGroup, do we need to create a custom FileManger assembler?
- Dominant language
- Java
- Stars
- 1.4k
- Forks
- 712
- Avg merge
- 15h 41m
- Merged PRs (30d)
- 53
Description
### 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: .
@prefix lm: .
@prefix ja: .
@prefix rdfs: .
a ja:UnionModel ;
ja:subModel .
a ja:UnionModel ;
ja:subModel .
a ja:OntModel ;
ja:ontModelSpec .
a ja:DocumentManager ;
ja:fileManager [ ja:locationMapper ] .
lm:mapping [ lm:altName "file:/path/to/v1.vocab.ttl" ] ;
lm:name "file:v1.vocab.ttl" .
a ja:OntModelSpec ;
ja:documentManager .
a ja:OntModel ;
ja:ontModelSpec .
a ja:DocumentManager ;
ja:fileManager [ ja:locationMapper ] .
lm:mapping [ lm:altName "file:/path/to/v2.vocab.ttl" ] ;
lm:name "file:v2.vocab.ttl" .
a ja:OntModelSpec ;
ja:documentManager .
a ja:UnionModel ;
ja:subModel ,
.
```
[DocumentManagerAssembler#getFileManager](https://github.com/apache/jena/blob/jena-5.3.0/jena-core/src/main/java/org/apache/jena/assembler/assemblers/DocumentManagerAssembler.java#L45)
Contributor guide
Research direction
Start with DocumentManagerAssembler.java, especially getFileManager, and trace how the builtin general AssemblerGroup resolves the inline ja:fileManager in Assembly.ttl. Reproduce the nested OntModel and DocumentManager setup from the issue, then determine whether the general group can assemble it without a custom FileManager assembler. Done means the expected nested models and document managers assemble successfully, or the required limitation is clearly documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 28/100