Skip to content

Commit fd8f612

Browse files
author
Pham Minh Duc
committed
Handle the issue of the same university or company at different places.
1 parent 42c7c69 commit fd8f612

File tree

3 files changed

+25
-8
lines changed

3 files changed

+25
-8
lines changed

src/main/java/ldbc/snb/datagen/serializer/snb/interactive/TurtleInvariantSerializer.java

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -76,16 +76,25 @@ protected void serialize(final Place place) {
7676
protected void serialize(final Organization organization) {
7777
StringBuffer result = new StringBuffer(19000);
7878
if( organization.type == Organization.OrganisationType.company ) {
79-
Turtle.writeDBPData(writers[FileNames.SOCIAL_NETWORK.ordinal()],DBP.fullPrefixed(organization.name), RDF.type, DBPOWL.Company);
79+
Turtle.writeDBPData(writers[FileNames.SOCIAL_NETWORK.ordinal()], SN.getCompURI(organization.id), RDF.type, DBPOWL.Company);
80+
Turtle.writeDBPData(writers[FileNames.SOCIAL_NETWORK.ordinal()], SN.getCompURI(organization.id), SNVOC.url, DBP.fullPrefixed(organization.name));
81+
Turtle.writeDBPData(writers[FileNames.SOCIAL_NETWORK.ordinal()], SN.getCompURI(organization.id), FOAF.Name,
82+
Turtle.createLiteral(organization.name));
83+
Turtle.createTripleSPO(result, SN.getCompURI(organization.id),
84+
SNVOC.locatedIn, DBP.fullPrefixed(Dictionaries.places.getPlaceName(organization.location)));
85+
Turtle.createTripleSPO(result, SN.getCompURI(organization.id), SNVOC.id,
86+
Turtle.createDataTypeLiteral(Long.toString(organization.id), XSD.Int));
8087
} else {
81-
Turtle.writeDBPData(writers[FileNames.SOCIAL_NETWORK.ordinal()], DBP.fullPrefixed(organization.name), RDF.type, DBPOWL.University);
82-
}
83-
Turtle.writeDBPData(writers[FileNames.SOCIAL_NETWORK.ordinal()], DBP.fullPrefixed(organization.name), FOAF.Name,
88+
Turtle.writeDBPData(writers[FileNames.SOCIAL_NETWORK.ordinal()], SN.getUnivURI(organization.id), RDF.type, DBPOWL.University);
89+
Turtle.writeDBPData(writers[FileNames.SOCIAL_NETWORK.ordinal()], SN.getUnivURI(organization.id), SNVOC.url, DBP.fullPrefixed(organization.name));
90+
Turtle.writeDBPData(writers[FileNames.SOCIAL_NETWORK.ordinal()], SN.getUnivURI(organization.id), FOAF.Name,
8491
Turtle.createLiteral(organization.name));
85-
Turtle.createTripleSPO(result, DBP.fullPrefixed(organization.name),
92+
Turtle.createTripleSPO(result, SN.getUnivURI(organization.id),
8693
SNVOC.locatedIn, DBP.fullPrefixed(Dictionaries.places.getPlaceName(organization.location)));
87-
Turtle.createTripleSPO(result, DBP.fullPrefixed(organization.name), SNVOC.id,
94+
Turtle.createTripleSPO(result, SN.getUnivURI(organization.id), SNVOC.id,
8895
Turtle.createDataTypeLiteral(Long.toString(organization.id), XSD.Int));
96+
}
97+
8998
writers[FileNames.SOCIAL_NETWORK.ordinal()].write(result.toString());
9099
}
91100

src/main/java/ldbc/snb/datagen/serializer/snb/interactive/TurtlePersonSerializer.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ protected void serialize(final StudyAt studyAt) {
144144
long id = SN.formId(studyAtId);
145145
Turtle.createTripleSPO(result, prefix, SNVOC.studyAt, SN.getStudyAtURI(id));
146146
Turtle.createTripleSPO(result, SN.getStudyAtURI(id), SNVOC.hasOrganisation,
147-
DBP.fullPrefixed(Dictionaries.universities.getUniversityName(studyAt.university)));
147+
SN.getUnivURI(studyAt.university));
148148
String yearString = Dictionaries.dates.formatYear(studyAt.year);
149149
Turtle.createTripleSPO(result, SN.getStudyAtURI(id), SNVOC.classYear,
150150
Turtle.createDataTypeLiteral(yearString, XSD.Integer));
@@ -159,7 +159,7 @@ protected void serialize(final WorkAt workAt) {
159159
long id = SN.formId(workAtId);
160160
Turtle.createTripleSPO(result, prefix, SNVOC.workAt, SN.getWorkAtURI(id));
161161
Turtle.createTripleSPO(result, SN.getWorkAtURI(id), SNVOC.hasOrganisation,
162-
DBP.fullPrefixed(Dictionaries.companies.getCompanyName(workAt.company)));
162+
SN.getCompURI(workAt.company));
163163
String yearString = Dictionaries.dates.formatYear(workAt.year);
164164
Turtle.createTripleSPO(result, SN.getWorkAtURI(id), SNVOC.workFrom,
165165
Turtle.createDataTypeLiteral(yearString, XSD.Integer));

src/main/java/ldbc/snb/datagen/vocabulary/SN.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,14 @@ public static String getWorkAtURI(long id) {
141141
return BLANK_NODE + "work" + String.format("%020d", id );
142142
}
143143

144+
public static String getUnivURI(long id) {
145+
return BLANK_NODE + "uni" + String.format("%06d", id);
146+
}
147+
148+
public static String getCompURI(long id) {
149+
return BLANK_NODE + "com" + String.format("%06d", id);
150+
}
151+
144152
public static String getKnowsURI(long id) {
145153
return BLANK_NODE + "knows" + String.format("%020d", id);
146154
}

0 commit comments

Comments
 (0)