function __construct( $importdata, $dataformat ) {
global $rdfiogExtraNSPrefixes,
$rdfiogPropertiesToUseAsWikiTitle,
$rdfiogUseNSPrefixInWikiTitleForProperties,
$rdfiogUseNSPrefixInWikiTitleForEntities;
if ( $dataformat == 'triples_array' ) {
$this->m_triples = $importdata;
} else {
$this->m_unparseddata = $importdata;
}
$this->m_dataformat = $dataformat;
$this->m_haserrors = false;
$this->m_delete = false;
if ( $this->m_dataformat == 'rdfxml' ) {
$this->m_unparseddata = $this->cleanupXML( $this->m_unparseddata );
$this->m_parser = ARC2::getRDFXMLParser();
$this->parse();
} elseif ( $this->m_dataformat == 'turtle' ) {
$this->m_unparseddata = $wgRequest->getText( 'importdata' );
$this->m_parser = ARC2::getTurtleParser();
$this->parse();
}
$this->extractTripleIndex();
$this->m_nsprefixes = $this->getNSPrefixMappingFromParser();
if ( $rdfiogExtraNSPrefixes != '' ) {
$this->addNamespacePrefixes( $rdfiogExtraNSPrefixes );
}
$nsprefixes = $this->m_nsprefixes;
$this->setNSPrefixes( $nsprefixes );
$this->setTripleIndex( $this->m_tripleindex );
// Previously in Equiv URI Class
if ( isset($rdfiogUsePseudoNamespacesForProperties) ) { // TODO: Change to check options from import screen
// use parameter set in LocalSettings.php
$this->m_usenspintitles_properties = $rdfiogUsePseudoNamespacesForProperties;
}
if ( isset($rdfiogUsePseudoNamespacesForEntities) ) {
// use parameter set in LocalSettings.php
$this->m_usenspintitles_entities = $rdfiogUsePseudoNamespacesForEntities;
}
if ( !empty( $rdfiogPropertiesToUseAsWikiTitle ) ) {
$this->m_wikititlepropertyuris = $rdfiogPropertiesToUseAsWikiTitle;
} else {
$this->m_wikititlepropertyuris = array(
'http://semantic-mediawiki.org/swivt/1.0#page', // Suggestion for new property
'http://www.w3.org/2000/01/rdf-schema#label',
'http://purl.org/dc/elements/1.1/title',
'http://www.w3.org/2004/02/skos/core#preferredLabel',
'http://xmlns.com/foaf/0.1/name'
);
}
$this->m_store = new RDFIOStore();
}