de.fuberlin.wiwiss.d2rq.map
Class MapParser
java.lang.Object
de.fuberlin.wiwiss.d2rq.map.MapParser
- public class MapParser
- extends java.lang.Object
Creates D2RQ domain classes (like PropertyBridge
,
TranslationTable
from a Jena model representation
of a D2RQ mapping file. Checks the map for consistency.
History:
08-03-2004: Initial version of this class.
- Version:
- V0.2
- Author:
- Richard Cyganiak
Constructor Summary |
MapParser(com.hp.hpl.jena.rdf.model.Model mapModel)
Constructs a new MapParser from a Jena model containing the RDF statements
from a D2RQ mapping file. |
Method Summary |
private void |
addRDFTypePropertyBridge(com.hp.hpl.jena.graph.Node toClassMap,
com.hp.hpl.jena.graph.Node rdfsClass)
|
private void |
addRDFTypePropertyBridges()
|
private void |
assertHasColumnTypes(NodeMaker nodeMaker,
Database db)
|
private void |
buildClassMap(com.hp.hpl.jena.graph.Node node,
Database db)
|
private void |
buildDatabase(com.hp.hpl.jena.graph.Node node)
|
private void |
buildPropertyBridge(com.hp.hpl.jena.graph.Node node,
NodeMaker resourceMaker)
|
private boolean |
containsDuplicates(com.hp.hpl.jena.graph.Node node)
|
private PropertyBridge |
createPropertyBridge(com.hp.hpl.jena.graph.Node node,
NodeMaker subjects,
NodeMaker predicates,
NodeMaker objects,
java.util.Set joins,
java.util.Map aliasses)
|
private java.util.Set |
findLiterals(com.hp.hpl.jena.graph.Node subject,
com.hp.hpl.jena.graph.Node predicate)
|
private java.util.Map |
findLiteralsAsMap(com.hp.hpl.jena.graph.Node subject,
com.hp.hpl.jena.graph.Node predicate)
|
private java.util.Map |
findLiteralsAsMap(com.hp.hpl.jena.graph.Node subject,
com.hp.hpl.jena.graph.Node predicate,
java.util.Map predicateToObjectMap)
|
private java.util.Map |
findLiteralsAsMap(com.hp.hpl.jena.graph.Node subject,
com.hp.hpl.jena.graph.Node predicate,
java.util.Map predicateToObjectMap,
boolean objectIsKey,
boolean warnIfNotLiteral)
|
private java.lang.String |
findOneLiteral(com.hp.hpl.jena.graph.Node subject,
com.hp.hpl.jena.graph.Node predicate)
|
private java.lang.String |
findOneLiteralOrURI(com.hp.hpl.jena.graph.Node subject,
com.hp.hpl.jena.graph.Node predicate)
|
private com.hp.hpl.jena.graph.Node |
findOneNode(com.hp.hpl.jena.graph.Node subject,
com.hp.hpl.jena.graph.Node predicate)
|
private com.hp.hpl.jena.graph.Node |
findPropertyForBridge(com.hp.hpl.jena.graph.Node bridge)
|
private java.lang.String |
findZeroOrOneLiteral(com.hp.hpl.jena.graph.Node subject,
com.hp.hpl.jena.graph.Node predicate)
|
private java.lang.String |
findZeroOrOneLiteralOrURI(com.hp.hpl.jena.graph.Node subject,
com.hp.hpl.jena.graph.Node predicate)
|
private com.hp.hpl.jena.graph.Node |
findZeroOrOneNode(com.hp.hpl.jena.graph.Node subject,
com.hp.hpl.jena.graph.Node predicate)
|
java.util.Collection |
getClassMaps()
|
private Database |
getDatabase(NodeMaker resourceMaker)
|
java.util.Collection |
getDatabases()
|
java.util.Map |
getProcessingInstructions()
|
java.util.Collection |
getPropertyBridges()
|
private com.hp.hpl.jena.rdf.model.Resource |
getResourceFromNode(com.hp.hpl.jena.graph.Node node)
|
TranslationTable |
getTranslationTable(com.hp.hpl.jena.graph.Node node)
|
private void |
inferColumnTypesFromJoins(java.util.Collection joins,
NodeMaker resourceMaker)
|
void |
parse()
Starts the parsing process. |
private void |
parseAdditionalProperties()
|
private void |
parseClassMaps()
|
private void |
parseDatabases()
|
private void |
parseProcessingInstructions()
|
private void |
parsePropertyBridges()
|
private java.lang.String |
toQName(com.hp.hpl.jena.graph.Node node)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
model
private com.hp.hpl.jena.rdf.model.Model model
graph
private com.hp.hpl.jena.graph.Graph graph
databases
private java.util.Map databases
classMaps
private java.util.Map classMaps
translationTables
private java.util.Map translationTables
propertyBridges
private java.util.Map propertyBridges
resourcesConditionsMap
private java.util.Map resourcesConditionsMap
resourcesDatabasesMap
private java.util.Map resourcesDatabasesMap
columnResourceMakers
private java.util.Set columnResourceMakers
patternResourceMakers
private java.util.Set patternResourceMakers
uniqueNodeMakers
private java.util.Set uniqueNodeMakers
prefixes
private com.hp.hpl.jena.shared.PrefixMapping prefixes
processingInstructions
private java.util.Map processingInstructions
d2rqColumnTypeToDatabaseColumnType
private static java.util.Map d2rqColumnTypeToDatabaseColumnType
MapParser
public MapParser(com.hp.hpl.jena.rdf.model.Model mapModel)
- Constructs a new MapParser from a Jena model containing the RDF statements
from a D2RQ mapping file.
- Parameters:
mapModel
- a Jena model containing the RDF statements from a D2RQ mapping file
parse
public void parse()
- Starts the parsing process. Must be called before results can be retrieved
from the getter methods.
getDatabases
public java.util.Collection getDatabases()
getClassMaps
public java.util.Collection getClassMaps()
getPropertyBridges
public java.util.Collection getPropertyBridges()
getProcessingInstructions
public java.util.Map getProcessingInstructions()
parseProcessingInstructions
private void parseProcessingInstructions()
parseDatabases
private void parseDatabases()
buildDatabase
private void buildDatabase(com.hp.hpl.jena.graph.Node node)
parseClassMaps
private void parseClassMaps()
buildClassMap
private void buildClassMap(com.hp.hpl.jena.graph.Node node,
Database db)
containsDuplicates
private boolean containsDuplicates(com.hp.hpl.jena.graph.Node node)
assertHasColumnTypes
private void assertHasColumnTypes(NodeMaker nodeMaker,
Database db)
getTranslationTable
public TranslationTable getTranslationTable(com.hp.hpl.jena.graph.Node node)
parsePropertyBridges
private void parsePropertyBridges()
buildPropertyBridge
private void buildPropertyBridge(com.hp.hpl.jena.graph.Node node,
NodeMaker resourceMaker)
createPropertyBridge
private PropertyBridge createPropertyBridge(com.hp.hpl.jena.graph.Node node,
NodeMaker subjects,
NodeMaker predicates,
NodeMaker objects,
java.util.Set joins,
java.util.Map aliasses)
inferColumnTypesFromJoins
private void inferColumnTypesFromJoins(java.util.Collection joins,
NodeMaker resourceMaker)
getDatabase
private Database getDatabase(NodeMaker resourceMaker)
findPropertyForBridge
private com.hp.hpl.jena.graph.Node findPropertyForBridge(com.hp.hpl.jena.graph.Node bridge)
parseAdditionalProperties
private void parseAdditionalProperties()
addRDFTypePropertyBridges
private void addRDFTypePropertyBridges()
addRDFTypePropertyBridge
private void addRDFTypePropertyBridge(com.hp.hpl.jena.graph.Node toClassMap,
com.hp.hpl.jena.graph.Node rdfsClass)
getResourceFromNode
private com.hp.hpl.jena.rdf.model.Resource getResourceFromNode(com.hp.hpl.jena.graph.Node node)
findZeroOrOneLiteral
private java.lang.String findZeroOrOneLiteral(com.hp.hpl.jena.graph.Node subject,
com.hp.hpl.jena.graph.Node predicate)
findZeroOrOneLiteralOrURI
private java.lang.String findZeroOrOneLiteralOrURI(com.hp.hpl.jena.graph.Node subject,
com.hp.hpl.jena.graph.Node predicate)
findZeroOrOneNode
private com.hp.hpl.jena.graph.Node findZeroOrOneNode(com.hp.hpl.jena.graph.Node subject,
com.hp.hpl.jena.graph.Node predicate)
findOneNode
private com.hp.hpl.jena.graph.Node findOneNode(com.hp.hpl.jena.graph.Node subject,
com.hp.hpl.jena.graph.Node predicate)
findOneLiteral
private java.lang.String findOneLiteral(com.hp.hpl.jena.graph.Node subject,
com.hp.hpl.jena.graph.Node predicate)
findOneLiteralOrURI
private java.lang.String findOneLiteralOrURI(com.hp.hpl.jena.graph.Node subject,
com.hp.hpl.jena.graph.Node predicate)
findLiterals
private java.util.Set findLiterals(com.hp.hpl.jena.graph.Node subject,
com.hp.hpl.jena.graph.Node predicate)
findLiteralsAsMap
private java.util.Map findLiteralsAsMap(com.hp.hpl.jena.graph.Node subject,
com.hp.hpl.jena.graph.Node predicate)
findLiteralsAsMap
private java.util.Map findLiteralsAsMap(com.hp.hpl.jena.graph.Node subject,
com.hp.hpl.jena.graph.Node predicate,
java.util.Map predicateToObjectMap)
findLiteralsAsMap
private java.util.Map findLiteralsAsMap(com.hp.hpl.jena.graph.Node subject,
com.hp.hpl.jena.graph.Node predicate,
java.util.Map predicateToObjectMap,
boolean objectIsKey,
boolean warnIfNotLiteral)
toQName
private java.lang.String toQName(com.hp.hpl.jena.graph.Node node)