VirtualFlyBrain / neo4j2owl

Semantics preserving mapping of OWL 2 EL and Neo4J. Under development, do not use.
Apache License 2.0
6 stars 3 forks source link

Language tags are not preserved #3

Open matentzn opened 5 years ago

matentzn commented 5 years ago

Source: AnnotationAssertion(rdfs:label <http://virtualflybrain.org/data/TrumanWood2018> "DS"@en)

After ingest: AnnotationAssertion(rdfs:label <http://virtualflybrain.org/data/TrumanWood2018> "DS"^^xsd:string)

dosumis commented 4 years ago

To support this in neo would we need to include quotes in string values, e.g.

label: '"autobahn"@de' ?

Suggestion: add config option for language tag support. For VFB at present this should be set to False but we could consider supporting in future.

matentzn commented 4 years ago

This is a bit more complex than that, because the language tag is not part of the OWLLiteral in the owl API.. So handling this requires proper thought and some custom parsing.. given the current (unlanguage-tagged):

exact_synonym: [
"autobahn", 
"highway"
]

How would that look like in neo with language tags? Like this:

exact_synonym: [
"autobahn@de", 
"highway@en"
]

And then what would gepetto show to the user? You would have to remember trimming the language tags away, if you think of:

emails: [
"a@b.de", 
"a@b.com"
]

Cypher queries for terms with synonyms would become messy as well!

Icebox is a great place for this. I would not do any work on it now.