# Lehigh University Benchmark
# See http://swat.cse.lehigh.edu/projects/lubm/

@prefix log: <http://www.w3.org/2000/10/swap/log#>.
@prefix : <http://www.example.org/>.

(_:X _:Y) log:onNegativeSurface {
    _:X :src_advisor _:Y.
    () log:onNegativeSurface {
        _:X :advisor _:Y.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :src_AssistantProfessor.
    () log:onNegativeSurface {
        _:X a :AssistantProfessor.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :src_AssociateProfessor.
    () log:onNegativeSurface {
        _:X a :AssociateProfessor.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :src_Course.
    () log:onNegativeSurface {
        _:X a :Course.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :src_Department.
    () log:onNegativeSurface {
        _:X a :Department.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :src_doctoralDegreeFrom _:Y.
    () log:onNegativeSurface {
        _:X :doctoralDegreeFrom _:Y.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :src_emailAddress _:Y.
    () log:onNegativeSurface {
        _:X :emailAddress _:Y.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :src_FullProfessor.
    () log:onNegativeSurface {
        _:X a :FullProfessor.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :src_GraduateCourse.
    () log:onNegativeSurface {
        _:X a :GraduateCourse.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :src_GraduateStudent.
    () log:onNegativeSurface {
        _:X a :GraduateStudent.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :src_headOf _:Y.
    () log:onNegativeSurface {
        _:X :headOf _:Y.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :src_Lecturer.
    () log:onNegativeSurface {
        _:X a :Lecturer.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :src_mastersDegreeFrom _:Y.
    () log:onNegativeSurface {
        _:X :mastersDegreeFrom _:Y.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :src_memberOf _:Y.
    () log:onNegativeSurface {
        _:X :memberOf _:Y.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :src_name _:Y.
    () log:onNegativeSurface {
        _:X :name _:Y.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :src_Publication.
    () log:onNegativeSurface {
        _:X a :Publication.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :src_publicationAuthor _:Y.
    () log:onNegativeSurface {
        _:X :publicationAuthor _:Y.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :src_ResearchAssistant.
    () log:onNegativeSurface {
        _:X a :ResearchAssistant.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :src_ResearchGroup.
    () log:onNegativeSurface {
        _:X a :ResearchGroup.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :src_researchInterest _:Y.
    () log:onNegativeSurface {
        _:X :researchInterest _:Y.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :src_subOrganizationOf _:Y.
    () log:onNegativeSurface {
        _:X :subOrganizationOf _:Y.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :src_takesCourse _:Y.
    () log:onNegativeSurface {
        _:X :takesCourse _:Y.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :src_teacherOf _:Y.
    () log:onNegativeSurface {
        _:X :teacherOf _:Y.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :src_TeachingAssistant.
    () log:onNegativeSurface {
        _:X a :TeachingAssistant.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :src_teachingAssistantOf _:Y.
    () log:onNegativeSurface {
        _:X :teachingAssistantOf _:Y.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :src_telephone _:Y.
    () log:onNegativeSurface {
        _:X :telephone _:Y.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :src_undergraduateDegreeFrom _:Y.
    () log:onNegativeSurface {
        _:X :undergraduateDegreeFrom _:Y.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :src_UndergraduateStudent.
    () log:onNegativeSurface {
        _:X a :UndergraduateStudent.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :src_University.
    () log:onNegativeSurface {
        _:X a :University.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :src_worksFor _:Y.
    () log:onNegativeSurface {
        _:X :worksFor _:Y.
    }.
}.


(_:X) log:onNegativeSurface {
    _:X a :AdministrativeStaff.
    () log:onNegativeSurface {
        _:X a :Employee.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :advisor _:Y.
    () log:onNegativeSurface {
        _:X a :Person.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :advisor _:Y.
    () log:onNegativeSurface {
        _:Y a :Professor.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :affiliatedOrganizationOf _:Y.
    () log:onNegativeSurface {
        _:X a :Organization.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :affiliatedOrganizationOf _:Y.
    () log:onNegativeSurface {
        _:Y a :Organization.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :affiliateOf _:Y.
    () log:onNegativeSurface {
        _:X a :Organization.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :affiliateOf _:Y.
    () log:onNegativeSurface {
        _:Y a :Person.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :age _:Y.
    () log:onNegativeSurface {
        _:X a :Person.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :Article.
    () log:onNegativeSurface {
        _:X a :Publication.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :AssistantProfessor.
    () log:onNegativeSurface {
        _:X a :Professor.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :AssociateProfessor.
    () log:onNegativeSurface {
        _:X a :Professor.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :Book.
    () log:onNegativeSurface {
        _:X a :Publication.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X a :Chair.
    () log:onNegativeSurface {
        _:X :headOf _:Y.
        _:Y a :Department.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :Chair.
    () log:onNegativeSurface {
        _:X a :Person.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :Chair.
    () log:onNegativeSurface {
        _:X a :Professor.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :ClericalStaff.
    () log:onNegativeSurface {
        _:X a :AdministrativeStaff.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :College.
    () log:onNegativeSurface {
        _:X a :Organization.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :ConferencePaper.
    () log:onNegativeSurface {
        _:X a :Article.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :Course.
    () log:onNegativeSurface {
        _:X a :Work.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X a :Dean.
    () log:onNegativeSurface {
        _:X :headOf _:Y.
        _:Y a :College.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :Dean.
    () log:onNegativeSurface {
        _:X a :Professor.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :degreeFrom _:Y.
    () log:onNegativeSurface {
        _:X a :Person.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :degreeFrom _:Y.
    () log:onNegativeSurface {
        _:Y a :University.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:Y :degreeFrom _:X.
    () log:onNegativeSurface {
        _:X :hasAlumnus _:Y.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :Department.
    () log:onNegativeSurface {
        _:X a :Organization.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X a :Director.
    () log:onNegativeSurface {
        _:X :headOf _:Y.
        _:Y a :Program.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :Director.
    () log:onNegativeSurface {
        _:X a :Person.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :doctoralDegreeFrom _:Y.
    () log:onNegativeSurface {
        _:X a :Person.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :doctoralDegreeFrom _:Y.
    () log:onNegativeSurface {
        _:Y a :University.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :doctoralDegreeFrom _:Y.
    () log:onNegativeSurface {
        _:X :degreeFrom _:Y.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :emailAddress _:Y.
    () log:onNegativeSurface {
        _:X a :Person.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :Employee.
    () log:onNegativeSurface {
        _:X a :Person.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X a :Employee.
    () log:onNegativeSurface {
        _:X :worksFor _:Y.
        _:Y a :Organization.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :Faculty.
    () log:onNegativeSurface {
        _:X a :Employee.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :FullProfessor.
    () log:onNegativeSurface {
        _:X a :Professor.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :GraduateCourse.
    () log:onNegativeSurface {
        _:X a :Course.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :GraduateStudent.
    () log:onNegativeSurface {
        _:X a :Person.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X a :GraduateStudent.
    () log:onNegativeSurface {
        _:X :takesCourse _:Y.
        _:Y a :GraduateCourse.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :hasAlumnus _:Y.
    () log:onNegativeSurface {
        _:Y a :Person.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :hasAlumnus _:Y.
    () log:onNegativeSurface {
        _:X a :University.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:Y :hasAlumnus _:X.
    () log:onNegativeSurface {
        _:X :degreeFrom _:Y.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :headOf _:Y.
    _:Y a :College.
    () log:onNegativeSurface {
        _:X a :Dean.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :headOf _:Y.
    () log:onNegativeSurface {
        _:X :worksFor _:Y.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :Institute.
    () log:onNegativeSurface {
        _:X a :Organization.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :JournalArticle.
    () log:onNegativeSurface {
        _:X a :Article.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :Lecturer.
    () log:onNegativeSurface {
        _:X a :Faculty.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :listedCourse _:Y.
    () log:onNegativeSurface {
        _:Y a :Course.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :listedCourse _:Y.
    () log:onNegativeSurface {
        _:X a :Schedule.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :Manual.
    () log:onNegativeSurface {
        _:X a :Publication.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :mastersDegreeFrom _:Y.
    () log:onNegativeSurface {
        _:X a :Person.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :mastersDegreeFrom _:Y.
    () log:onNegativeSurface {
        _:Y a :University.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :mastersDegreeFrom _:Y.
    () log:onNegativeSurface {
        _:X :degreeFrom _:Y.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :member _:Y.
    () log:onNegativeSurface {
        _:X a :Organization.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :member _:Y.
    () log:onNegativeSurface {
        _:Y a :Person.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:Y :member _:X.
    () log:onNegativeSurface {
        _:X :memberOf _:Y.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:Y :memberOf _:X.
    () log:onNegativeSurface {
        _:X :member _:Y.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :orgPublication _:Y.
    () log:onNegativeSurface {
        _:X a :Organization.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :orgPublication _:Y.
    () log:onNegativeSurface {
        _:Y a :Publication.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X a :Person.
    _:X :headOf _:Y.
    _:Y a :Department.
    () log:onNegativeSurface {
        _:X a :Chair.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X a :Person.
    _:X :headOf _:Y.
    _:Y a :Program.
    () log:onNegativeSurface {
        _:X a :Director.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X a :Person.
    _:X :takesCourse _:Y.
    _:Y a :Course.
    () log:onNegativeSurface {
        _:X a :Student.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X a :Person.
    _:X :teachingAssistantOf _:Y.
    _:Y a :Course.
    () log:onNegativeSurface {
        _:X a :TeachingAssistant.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X a :Person.
    _:X :worksFor _:Y.
    _:Y a :Organization.
    () log:onNegativeSurface {
        _:X a :Employee.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :PostDoc.
    () log:onNegativeSurface {
        _:X a :Faculty.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :Professor.
    () log:onNegativeSurface {
        _:X a :Faculty.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :Program.
    () log:onNegativeSurface {
        _:X a :Organization.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :publicationAuthor _:Y.
    () log:onNegativeSurface {
        _:Y a :Person.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :publicationAuthor _:Y.
    () log:onNegativeSurface {
        _:X a :Publication.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :publicationDate _:Y.
    () log:onNegativeSurface {
        _:X a :Publication.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :publicationResearch _:Y.
    () log:onNegativeSurface {
        _:X a :Publication.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :publicationResearch _:Y.
    () log:onNegativeSurface {
        _:Y a :Research.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :Research.
    () log:onNegativeSurface {
        _:X a :Work.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :ResearchAssistant.
    () log:onNegativeSurface {
        _:X a :Person.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X a :ResearchAssistant.
    () log:onNegativeSurface {
        _:X :worksFor _:Y.
        _:Y a :ResearchGroup.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :ResearchGroup.
    () log:onNegativeSurface {
        _:X a :Organization.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :researchProject _:Y.
    () log:onNegativeSurface {
        _:Y a :Research.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :researchProject _:Y.
    () log:onNegativeSurface {
        _:X a :ResearchGroup.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :Software.
    () log:onNegativeSurface {
        _:X a :Publication.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :softwareDocumentation _:Y.
    () log:onNegativeSurface {
        _:Y a :Publication.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :softwareDocumentation _:Y.
    () log:onNegativeSurface {
        _:X a :Software.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :softwareVersion _:Y.
    () log:onNegativeSurface {
        _:X a :Software.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :Specification.
    () log:onNegativeSurface {
        _:X a :Publication.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :Student.
    () log:onNegativeSurface {
        _:X a :Person.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X a :Student.
    () log:onNegativeSurface {
        _:X :takesCourse _:Y.
        _:Y a :Course.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :subOrganizationOf _:Y.
    () log:onNegativeSurface {
        _:X a :Organization.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :subOrganizationOf _:Y.
    () log:onNegativeSurface {
        _:Y a :Organization.
    }.
}.

(_:X _:Y _:Z) log:onNegativeSurface {
    _:X :subOrganizationOf _:Y.
    _:Y :subOrganizationOf _:Z.
    () log:onNegativeSurface {
        _:X :subOrganizationOf _:Z.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :SystemsStaff.
    () log:onNegativeSurface {
        _:X a :AdministrativeStaff.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :teacherOf _:Y.
    () log:onNegativeSurface {
        _:Y a :Course.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :teacherOf _:Y.
    () log:onNegativeSurface {
        _:X a :Faculty.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :TeachingAssistant.
    () log:onNegativeSurface {
        _:X a :Person.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X a :TeachingAssistant.
    () log:onNegativeSurface {
        _:X :teachingAssistantOf _:Y.
        _:Y a :Course.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :teachingAssistantOf _:Y.
    () log:onNegativeSurface {
        _:Y a :Course.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :teachingAssistantOf _:Y.
    () log:onNegativeSurface {
        _:X a :TeachingAssistant.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :TechnicalReport.
    () log:onNegativeSurface {
        _:X a :Article.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :telephone _:Y.
    () log:onNegativeSurface {
        _:X a :Person.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :tenured _:Y.
    () log:onNegativeSurface {
        _:X a :Professor.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :title _:Y.
    () log:onNegativeSurface {
        _:X a :Person.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :undergraduateDegreeFrom _:Y.
    () log:onNegativeSurface {
        _:X a :Person.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :undergraduateDegreeFrom _:Y.
    () log:onNegativeSurface {
        _:Y a :University.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :undergraduateDegreeFrom _:Y.
    () log:onNegativeSurface {
        _:X :degreeFrom _:Y.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :UndergraduateStudent.
    () log:onNegativeSurface {
        _:X a :Student.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :University.
    () log:onNegativeSurface {
        _:X a :Organization.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :UnofficialPublication.
    () log:onNegativeSurface {
        _:X a :Publication.
    }.
}.

(_:X) log:onNegativeSurface {
    _:X a :VisitingProfessor.
    () log:onNegativeSurface {
        _:X a :Professor.
    }.
}.

(_:X _:Y) log:onNegativeSurface {
    _:X :worksFor _:Y.
    () log:onNegativeSurface {
        _:X :memberOf _:Y.
    }.
}.

# query
(_:X _:Y) log:onQuerySurface {
    _:X :degreeFrom _:Y.
}.
